1#! /bin/sh 2# tvheadend startup script inspired by the Debian one in the package 3 4# Author: Yann E. MORIN <yann.morin.1998@free.fr> 5 6PATH=/usr/sbin:/usr/bin:/sbin:/bin 7NAME=tvheadend 8PIDFILE=/var/run/$NAME.pid 9 10# Read configuration variable file if it is present 11[ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" 12 13ARGS="-f" 14[ -z "${TVH_USER}" ] || ARGS="${ARGS} -u ${TVH_USER}" 15[ -z "${TVH_GROUP}" ] || ARGS="${ARGS} -g ${TVH_GROUP}" 16[ -z "${TVH_ADAPTERS}" ] || ARGS="${ARGS} -a ${TVH_ADAPTERS}" 17[ -z "${TVH_HTTP_PORT}" ] || ARGS="${ARGS} -w ${TVH_HTTP_PORT}" 18[ -z "${TVH_HTSP_PORT}" ] || ARGS="${ARGS} -e ${TVH_HTSP_PORT}" 19[ "${TVH_DEBUG}" = "1" ] && ARGS="${ARGS} -s" 20 21# If first run, start in wizard mode 22if [ -z "$(ls -1 /home/tvheadend/.hts/tvheadend/accesscontrol/ 2>/dev/null)" ]; then 23 ARGS="${ARGS} -C" 24fi 25 26case "$1" in 27 start) 28 printf "Starting TVHeadend daemon: " 29 if start-stop-daemon -S -q -p ${PIDFILE} -m --exec /usr/bin/tvheadend -- ${ARGS}; then 30 printf "OK\n" 31 else 32 printf "failed\n" 33 fi 34 ;; 35 stop) 36 printf "Stopping TVHeadend daemon: " 37 start-stop-daemon -K -q -p ${PIDFILE} -s TERM 38 sleep 2 39 if start-stop-daemon -K -q -p ${PIDFILE} -t; then 40 printf "failed, killing: " 41 start-stop-daemon -K -q -p ${PIDFILE} -s KILL -o 42 fi 43 printf "OK\n" 44 ;; 45 restart|force-reload) 46 "${0}" stop 47 sleep 2 48 "${0}" start 49 ;; 50 *) 51 echo "Usage: $0 {start|stop|restart|force-reload}" >&2 52 exit 1 53 ;; 54esac 55 56: 57