Update of /cvsroot/pure-data/scripts/debian/init.d In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29541/debian/init.d
Added Files: pd Log Message: properly working debian startup/shutdown script. Pd is now a daemon! We just need sysloggin...
--- NEW FILE: pd --- #!/bin/bash -e # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # # This is a SysV-style startup script for Pd. It has been used on Debian # extensively but should work on other SysV platforms. # # .hc hans@at.or.at #
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Pure Data" NAME=pd DAEMON=/usr/local/bin/$NAME PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed. test -x $DAEMON || exit 0
# options RUNPDDAEMON=no USER=nobody PORT=34985
# Read config file if it is present. if [ -r /etc/default/$NAME ] then . /etc/default/$NAME fi
if [ "$RUNPDDAEMON" != "yes" ];then echo "Pd not configured to run as a daemon. Edit /etc/default/$NAME." exit 1 fi
if [ "x$USER" = "x" ] then echo "Error: empty USER name" exit 1 fi
PARAMS="-nogui -noaudio -nomidi $OPTIONS"
# for the log file DATE=`date +20%y-%m-%d_%H.%M.%S`
# # Function that starts the daemon/service. # d_start() { # /bin/su - arw -c "/usr/bin/pd -nogui" > /tmp/pd-`date +20%y-%m-%d_%H.%M.%S`.log 2>&1 & start-stop-daemon -v --start --quiet --background --make-pidfile \ --chuid $USER --pidfile $PIDFILE --exec $DAEMON -- $PARAMS }
# # Function that stops the daemon/service. # d_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --user $USER --name $NAME --retry 5 # echo "quit;quit;quit;" | /usr/bin/pdsend $PORT # sleep 5 # /usr/bin/killall -KILL pd || echo "Warning: $DESC was not running" }
# # Function that sends a SIGHUP to the daemon/service. # d_reload() { start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --name $NAME --signal 1 }
case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME " d_stop echo "." ;; #reload) # # If the daemon can reload its config files on the fly # for example by sending it SIGHUP, do it here. # # If the daemon responds to changes in its config file # directly anyway, make this a do-nothing entry. # # echo -n "Reloading $DESC configuration..." # start-stop-daemon --stop --signal 1 --quiet --pidfile \ # /var/run/$NAME.pid --exec $DAEMON # echo "done." #;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac
exit 0