Do process matching by process name instead of PID file

-fixed
This commit is contained in:
Martin Konecny 2013-04-07 20:19:51 -04:00
parent 3d135a9f4a
commit 0d45d7b8cd
2 changed files with 9 additions and 5 deletions

View File

@ -15,6 +15,7 @@ NAME="Liquidsoap Playout Engine"
DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap
PIDFILE=/var/run/airtime-liquidsoap.pid PIDFILE=/var/run/airtime-liquidsoap.pid
EXEC='/usr/bin/airtime-liquidsoap'
start () { start () {
chown pypo:pypo /var/log/airtime/pypo chown pypo:pypo /var/log/airtime/pypo
@ -24,8 +25,10 @@ start () {
touch $PIDFILE touch $PIDFILE
chown pypo:pypo $PIDFILE chown pypo:pypo $PIDFILE
#start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
#--pidfile $PIDFILE --nicelevel -15 --startas $DAEMON
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--pidfile $PIDFILE --nicelevel -15 --startas $DAEMON --nicelevel -15 --startas $DAEMON --exec $EXEC
} }
stop () { stop () {
@ -33,9 +36,11 @@ stop () {
timeout -s9 10s /usr/lib/airtime/airtime_virtualenv/bin/python \ timeout -s9 10s /usr/lib/airtime/airtime_virtualenv/bin/python \
/usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py
# Send TERM after 5 seconds, wait at most 30 seconds. # Send TERM after 5 seconds, wait at most 30 seconds.
start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --pidfile $PIDFILE #start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --pidfile $PIDFILE
start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --exec $EXEC
rm -f $PIDFILE rm -f $PIDFILE
sleep 3 sleep 2
} }
start_with_monit () { start_with_monit () {

View File

@ -3,8 +3,7 @@
set httpd port 2812 set httpd port 2812
check process airtime-liquidsoap check process airtime-liquidsoap matching "airtime-liquidsoap.*airtime.*ls_script"
with pidfile "/var/run/airtime-liquidsoap.pid"
start program = "/etc/init.d/airtime-liquidsoap start" with timeout 30 seconds start program = "/etc/init.d/airtime-liquidsoap start" with timeout 30 seconds
stop program = "/etc/init.d/airtime-liquidsoap stop" stop program = "/etc/init.d/airtime-liquidsoap stop"