#!/bin/bash ### BEGIN INIT INFO # Provides: airtime-liquidsoap # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Liquidsoap daemon ### END INIT INFO USERID=pypo GROUPID=pypo NAME="Liquidsoap Playout Engine" DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap PIDFILE=/var/run/airtime-liquidsoap.pid start () { chown pypo:pypo /var/log/airtime/pypo chown pypo:pypo /var/log/airtime/pypo-liquidsoap start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \ --nicelevel -15 --make-pidfile --pidfile $PIDFILE --startas $DAEMON monit monitor airtime-liquidsoap >/dev/null 2>&1 } stop () { monit unmonitor airtime-liquidsoap >/dev/null 2>&1 /usr/lib/airtime/airtime_virtualenv/bin/python /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py # Send TERM after 5 seconds, wait at most 30 seconds. start-stop-daemon --stop --oknodo --retry 5 --quiet --pidfile $PIDFILE rm -f $PIDFILE } start_no_monit() { start-stop-daemon --start --background --quiet --chuid $USERID:$USERID --make-pidfile --pidfile $PIDFILE --startas $DAEMON } case "${1:-''}" in 'stop') echo -n "Stopping Liquidsoap: " stop echo "Done." ;; 'start') echo -n "Starting Liquidsoap: " start echo "Done." ;; 'restart') # restart commands here echo -n "Restarting Liquidsoap: " stop start echo "Done." ;; 'status') if [ -f "/var/run/airtime-liquidsoap.pid" ]; then pid=`cat /var/run/airtime-liquidsoap.pid` if [ -d "/proc/$pid" ]; then echo "Liquidsoap is running" exit 0 fi fi echo "Liquidsoap is not running" exit 1 ;; 'start-no-monit') # restart commands here echo -n "Starting $NAME: " start_no_monit echo "Done." ;; *) # no parameter specified echo "Usage: $SELF start|stop|restart" exit 1 ;; esac