1 changed files with 85 additions and 0 deletions
@ -0,0 +1,85 @@ |
|||||
|
#!/ffp/bin/sh |
||||
|
|
||||
|
# PROVIDE: Couchpotato |
||||
|
# REQUIRE: LOGIN |
||||
|
|
||||
|
. /ffp/etc/ffp.subr |
||||
|
|
||||
|
# script name |
||||
|
NAME=couchpotato |
||||
|
APP_PATH=/ffp/usr/local/CouchPotatoServer |
||||
|
APP_CONFIG_DIF=/ffp/root/.couchpotato |
||||
|
|
||||
|
# path to python bin |
||||
|
DAEMON=/ffp/bin/python |
||||
|
|
||||
|
# Path to store PID file |
||||
|
PID_FILE=/ffp/var/run/couchpotato.pid |
||||
|
PID_PATH=$(dirname $PID_FILE) |
||||
|
|
||||
|
# startup args |
||||
|
DAEMON_OPTS=" ${APP_PATH}/CouchPotato.py --daemon --pid_file=${PID_FILE}" |
||||
|
|
||||
|
command=$NAME |
||||
|
start_cmd="couchpotato_start" |
||||
|
stop_cmd="couchpotato_stop" |
||||
|
status_cmd="couchpotato_status" |
||||
|
|
||||
|
wait_for_status() |
||||
|
{ |
||||
|
counter=$2 |
||||
|
while [ ${counter} -gt 0 ]; do |
||||
|
daemon_status |
||||
|
[ $? -eq $1 ] && break |
||||
|
let counter=counter-1 |
||||
|
sleep 1 |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
daemon_status() |
||||
|
{ |
||||
|
if [ -f ${PID_FILE} ] && [ -d /proc/`cat ${PID_FILE}` ]; then |
||||
|
return 0 |
||||
|
fi |
||||
|
return 1 |
||||
|
} |
||||
|
|
||||
|
couchpotato_start() |
||||
|
{ |
||||
|
if [ -f ${PID_FILE} ] && [ -d /proc/`cat ${PID_FILE}` ]; then |
||||
|
echo "$NAME already running" |
||||
|
return 1 |
||||
|
fi |
||||
|
|
||||
|
echo "Starting $NAME" |
||||
|
$DAEMON $DAEMON_OPTS |
||||
|
} |
||||
|
|
||||
|
couchpotato_stop() |
||||
|
{ |
||||
|
if [ -f $PID_FILE ] ; then |
||||
|
echo "Stopping $NAME" |
||||
|
kill `cat ${PID_FILE}` |
||||
|
wait_for_status 1 20 |
||||
|
rm -f ${PID_FILE} |
||||
|
else |
||||
|
echo "Cannot find $PID_FILE" |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
couchpotato_status() |
||||
|
{ |
||||
|
local pid=` cat ${PID_FILE} 2>/dev/null ` |
||||
|
if test -n "$pid"; then |
||||
|
if cat /proc/$pid/cmdline | grep ${APP_PATH} >/dev/null ; then |
||||
|
[ "$1" == "silent" ] || echo "$NAME is running" |
||||
|
return 0 |
||||
|
fi |
||||
|
rm $pidfile |
||||
|
fi |
||||
|
|
||||
|
[ "$1" == "silent" ] || echo "$NAME not running" |
||||
|
return 1 |
||||
|
} |
||||
|
|
||||
|
run_rc_command "$1" |
Loading…
Reference in new issue