#!/sbin/runscript opts="statusdss statusadmin restart" depend() { need net use dns } start() { ebegin "Starting DSS (per Streaming Admin Server)" /usr/sbin/streamingadminserver.pl eend $? } stop(){ PIDFILE="/var/run/darwinstreaming/adminserver.pid" if [ -f "$PIDFILE" ]; then PID=`cat "$PIDFILE"` ps axo pid | grep $PID &>/dev/null if [ $? -eq 0 ]; then ebegin "Stopping Streaming Admin Server" kill $PID eend $? else einfo "Streaming Admin Server not running." ebegin "Dropping stale PID file" rm "$PIDFILE" eend $? fi else einfo "Streaming Admin Server not running obviously." fi # DSS isn't writing PID file actually # --> use ps to check for running instance PID=`ps axo user,pid,cmd | grep -E '^qtss ' | grep Streaming | awk '{print $2}'` if [ $? -eq 0 ]; then ebegin "Stopping DSS" kill $PID eend $? else einfo "DSS not running." fi } statusdss() { PIDFILE="/var/run/darwinstreaming/DarwinStreamingServer.pid" if [ -f "$PIDFILE" ]; then PID=`cat "$PIDFILE"` ps axo pid | grep PID &>/dev/null if [ $? -eq 0 ]; then einfo "DSS is running" return 0 else ewarning "found stale PID file" fi fi einfo "DSS is not running" return 1 } statusadmin() { PIDFILE="/var/run/darwinstreaming/adminserver.pid" if [ -f "$PIDFILE" ]; then PID=`cat "$PIDFILE"` ps axo pid | grep PID &>/dev/null if [ $? -eq 0 ]; then einfo "Streaming Admin Server is running" return 0 else ewarning "found stale PID file" fi fi einfo "Streaming Admin Server is not running" return 1 } restart() { stop start }