|
From: <ren...@us...> - 2008-02-14 16:14:09
|
Revision: 923
http://gmyth.svn.sourceforge.net/gmyth/?rev=923&view=rev
Author: renatofilho
Date: 2008-02-14 08:13:51 -0800 (Thu, 14 Feb 2008)
Log Message:
-----------
updated daemon script
Modified Paths:
--------------
trunk/gmyth-stream/server/data/gmsd
Modified: trunk/gmyth-stream/server/data/gmsd
===================================================================
--- trunk/gmyth-stream/server/data/gmsd 2008-02-08 00:03:03 UTC (rev 922)
+++ trunk/gmyth-stream/server/data/gmsd 2008-02-14 16:13:51 UTC (rev 923)
@@ -1,62 +1,73 @@
#!/bin/sh
-PROGRAM_NAME=GMS
-PROGRAM_BIN=/usr/bin/gms.py
-PIDFILE=/var/run/gms.pid
-LOGFILE=/var/log/gms.log
-test -x $PROGRAM_BIN || exit 0
-
set -e
+DAEMON=/usr/bin/gms.py
+PIDDIR=/var/run/gms
+PIDFILE=$PIDDIR.pid
+LOGFILE=/var/log/gms.log
+DAEMONUSER=root
+NAME=gms
+DESC="GMyth transcode server"
+
+test -x $DAEMON || exit 0
. /lib/lsb/init-functions
. /etc/default/rcS
-case $1 in
- start)
- echo -n "Starting $PROGRAM_NAME: "
- if [ -f $PIDFILE ]
- then
- PID=`cat $PIDFILE`
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS="-d"
- if ps ax | grep -q "^$PID"
- then
- echo "$PROGRAM_NAME already running."
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ chown $DAEMONUSER $PIDDIR
+ chgrp $DAEMONUSER $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ log_success_msg "$DESC already started; not starting."
+ return
else
+ log_success_msg "Removing stale PID file $PIDFILE."
rm -f $PIDFILE
- $PROGRAM_BIN -d > $LOGFILE 2> $LOGFILE
- echo "OK"
fi
- else
- $PROGRAM_BIN -d > $LOGFILE 2> $LOGFILE
- echo "OK"
fi
+
+ log_daemon_msg "Starting $DESC" "$NAME"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER --exec $DAEMON -- $PARAMS
+ log_end_msg $?
+}
+
+shut_it_down()
+{
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ start-stop-daemon --stop --retry 60 --quiet --oknodo --pidfile $PIDFILE \
+ --user $DAEMONUSER
+ log_end_msg $?
+ rm -f $PIDFILE
+}
+
+case $1 in
+ start)
+ start_it_up
;;
stop)
- echo -n "Stopping $PROGRAM_NAME: "
- if [ -f $PIDFILE ]
- then
- PID=`cat $PIDFILE`
- if ps -p "$PID" > /dev/null
- then
- kill -9 $PID
- fi
- rm $PIDFILE
- echo "OK"
- else
- echo "No $PROGRAM_NAME found running; no killed."
- fi
+ shut_it_down
;;
restart)
- $0 stop
- sleep 1
- $0 start
+ shut_it_down
+ start_it_up
;;
*)
- log_success_msg "Usage: $0 {stop|start|restart}"
- exit 1
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart}" >&2
+ exit 2
;;
esac
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|