#!/bin/bash # Hyperion daemon service # description: Hyperion daemon # processname: hyperiond ### BEGIN INIT INFO # Provides: Hyperion # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Hyperion Ambilight init.d Service. # Description: Hyperion Ambilight init.d Service. ### END INIT INFO DAEMON=hyperiond DAEMON_PATH="/usr/bin" NAME=$DAEMON DESC="Hyperion ambilight server" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME case "$1" in start) if [ $(pgrep -xl $NAME |wc -l) = 1 ] then printf "%-50s\n" "Already running..." exit 1 else printf "%-50s" "Starting $NAME..." cd $DAEMON_PATH PID=`$DAEMON > /dev/null 2>&1 & echo $!` #echo "Saving PID" $PID " to " $PIDFILE if [ -z $PID ]; then printf "%s\n" "Fail" else echo $PID > $PIDFILE printf "%s\n" "Ok" fi fi ;; status) printf "%-50s" "Checking $NAME..." if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then printf "%s\n" "Process dead but pidfile exists" else echo "Running" fi else printf "%s\n" "Service not running" fi ;; stop) if [ -f $PIDFILE ] then printf "%-50s" "Stopping $NAME" PID=`cat $PIDFILE` cd $DAEMON_PATH if [ -f $PIDFILE ]; then kill $PID printf "%s\n" "Ok" rm -f $PIDFILE else printf "%s\n" "pidfile not found" fi else printf "%-50s\n" "No PID file $NAME not running?" fi ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {status|start|stop|restart}" exit 1 esac exit 0