#!/bin/sh # # PROVIDE: plexpy # REQUIRE: DAEMON sabnzbd # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # plexpy_enable (bool): Set to NO by default. # Set it to YES to enable it. # plexpy_user: The user account PlexPy daemon runs as what # you want it to be. It uses '_sabnzbd' user by # default. Do not sets it as empty or it will run # as root. # plexpy_dir: Directory where PlexPy lives. # Default: /usr/local/plexpy # plexpy_chdir: Change to this directory before running PlexPy. # Default is same as plexpy_dir. # plexpy_pid: The name of the pidfile to create. # Default is plexpy.pid in plexpy_dir. PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" . /etc/rc.subr name="plexpy" rcvar=${name}_enable load_rc_config ${name} : ${plexpy_enable:="NO"} : ${plexpy_user:="_sabnzbd"} : ${plexpy_dir:="/usr/local/share/plexpy"} : ${plexpy_chdir:="${plexpy_dir}"} : ${plexpy_pid:="${plexpy_dir}/plexpy.pid"} status_cmd="${name}_status" stop_cmd="${name}_stop" command="/usr/sbin/daemon" command_args="-f -p ${plexpy_pid} python2 ${plexpy_dir}/PlexPy.py ${plexpy_flags} --quiet --nolaunch" # Ensure user is root when running this script. if [ `id -u` != "0" ]; then echo "Oops, you should be root before running this!" exit 1 fi verify_plexpy_pid() { # Make sure the pid corresponds to the PlexPy process. if [ -f ${plexpy_pid} ]; then pid=`cat ${plexpy_pid} 2>/dev/null` ps -p ${pid} | grep -q "python2 ${plexpy_dir}/PlexPy.py" return $? else return 0 fi } # Try to stop PlexPy cleanly by calling shutdown over http. plexpy_stop() { echo "Stopping $name." verify_plexpy_pid if [ -n "${pid}" ]; then kill ${pid} wait_for_pids ${pid} echo "Stopped." fi } plexpy_status() { verify_plexpy_pid if [ -n "${pid}" ]; then echo "$name is running as ${pid}." else echo "$name is not running." fi } run_rc_command "$1"