Browse Source

Fix start-stop script for DSM6 and beyond

pull/6273/head
simenon 9 years ago
parent
commit
21e297f16c
  1. 31
      init/synology

31
init/synology

@ -14,11 +14,15 @@ COUCHPOTATO="${INSTALL_DIR}/CouchPotato.py"
CFG_FILE="${INSTALL_DIR}/var/settings.conf" CFG_FILE="${INSTALL_DIR}/var/settings.conf"
PID_FILE="${INSTALL_DIR}/var/couchpotato.pid" PID_FILE="${INSTALL_DIR}/var/couchpotato.pid"
LOG_FILE="${INSTALL_DIR}/var/logs/CouchPotato.log" LOG_FILE="${INSTALL_DIR}/var/logs/CouchPotato.log"
DSM_MAJOR_VERSION=`cat /etc.defaults/VERSION | grep majorversion | grep -o [0-9]*`
start_daemon ()
start_daemon()
{ {
su ${RUNAS} -c "PATH=${PATH} ${PYTHON} ${COUCHPOTATO} --daemon --pid_file ${PID_FILE} --config ${CFG_FILE}" if [ ${DSM_MAJOR_VERSION} -gt 5 ]; then
sudo -u ${RUNAS} PATH=${PATH} ${PYTHON} ${COUCHPOTATO} --daemon --pid_file ${PID_FILE} --config ${CFG_FILE}
else
su ${RUNAS} -c "PATH=${PATH} ${PYTHON} ${COUCHPOTATO} --daemon --pid_file ${PID_FILE} --config ${CFG_FILE}"
fi
} }
stop_daemon() stop_daemon()
@ -31,44 +35,45 @@ stop_daemon()
daemon_status() daemon_status()
{ {
if [ -f ${PID_FILE} ] && [ -d /proc/`cat ${PID_FILE}` ]; then if [ -f ${PID_FILE} ] && [ -d /proc/`cat ${PID_FILE}` ]; then
return 0 return 0
fi fi
return 1 return 1
} }
wait_for_status() wait_for_status()
{ {
counter=$2 counter=$2
while [ ${counter} -gt 0 ]; do while [ ${counter} -gt 0 ]; do
daemon_status daemon_status
[ $? -eq $1 ] && break [ $? -eq $1 ] && break
let counter=counter-1 let counter=counter-1
sleep 1 sleep 1
done done
} }
case $1 in case $1 in
start) start)
if daemon_status; then if daemon_status; then
echo ${DNAME} is already running echo ${DNAME} is already running
else else
echo Starting ${DNAME} ... echo Starting ${DNAME} ...
start_daemon start_daemon
fi fi
;; ;;
stop) stop)
if daemon_status; then if daemon_status; then
echo Stopping ${DNAME} ... echo Stopping ${DNAME} ...
stop_daemon stop_daemon
else else
echo ${DNAME} is not running echo ${DNAME} is not running
fi fi
;; ;;
status) status)
if daemon_status; then if daemon_status; then
echo ${DNAME} is running echo ${DNAME} is running
exit 0 exit 0
else else
echo ${DNAME} is not running echo ${DNAME} is not running
exit 1 exit 1
fi fi
;; ;;

Loading…
Cancel
Save