diff options
Diffstat (limited to 'multimedia/plexmediaserver/rc.plexmediaserver')
-rw-r--r-- | multimedia/plexmediaserver/rc.plexmediaserver | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/multimedia/plexmediaserver/rc.plexmediaserver b/multimedia/plexmediaserver/rc.plexmediaserver new file mode 100644 index 0000000000000..93598b361c91e --- /dev/null +++ b/multimedia/plexmediaserver/rc.plexmediaserver @@ -0,0 +1,62 @@ +#!/bin/sh + +# /etc/rc.d/rc.plexmediaserver - Start/stop/restart the plexmediaserver daemon. +# To make plexmediaserver start automatically at boot, make this +# file executable: chmod 0755 /etc/rc.d/rc.plexmediaserver and add it +# to slackware's startup scripts (ie: rc.local) +# + +PIDFILE="/var/run/plexmediaserver.pid" + +plexmediaserver_start() { + echo "Starting plexmediaserver..." + CHECK=$(ps aux | grep /usr/bin/start_pms | grep -v grep) + STATUS=$? + + # make sure plexmediaserver isn't running yet + if [ "$STATUS" == "1" ]; then + touch $PIDFILE + chown plex:plex $PIDFILE + + # Start plexmediaserver + sudo -u plex /usr/bin/start_pms & + else + echo "plexmediaserver is already active and running under PID: $(cat $PIDFILE)" + echo "if you think this is wrong, remove the offending PID file" + echo "and restart plexmediaserver" + exit 1 + fi +} + +plexmediaserver_stop() { + echo -n "Stopping plexmediaserver..." + if [ -r $PIDFILE ]; then + kill $(cat $PIDFILE) + killall "Plex Media Server" + rm $PIDFILE + echo "done" + else + killall "Plex Media Server" + rm $PIDFILE + echo "done" + fi +} + +# Let's see how we are being called. +case "$1" in + start) + plexmediaserver_start + ;; + stop) + plexmediaserver_stop + ;; + restart) + plexmediaserver_start + sleep 3 + plexmediaserver_stop + ;; + *) + echo "Usage: $(basename $0) {start|stop|restart}" + exit 1 + ;; +esac |