diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 21:34:23 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 21:34:23 -0600 |
commit | 8ffcca498e0776498341c466d975fe0aa2579cc1 (patch) | |
tree | d44793439c9be9c14e23337cf514e1a12e879878 /servers/fpga_server_lin/debian | |
parent | 869276765f726ed5465676af3acf4559ee720a6a (diff) | |
download | ulab-8ffcca498e0776498341c466d975fe0aa2579cc1.tar.gz ulab-8ffcca498e0776498341c466d975fe0aa2579cc1.zip |
Add Debian/Ubuntu init files for remaining services
Diffstat (limited to 'servers/fpga_server_lin/debian')
-rw-r--r-- | servers/fpga_server_lin/debian/remotefpga-fpgaserver.init | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init b/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init new file mode 100644 index 0000000..a55b341 --- /dev/null +++ b/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init @@ -0,0 +1,108 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: remotefpga-fpgaserver +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: console-screen kbd acpid hal krb5-kdc nis +# Should-Stop: console-screen kbd +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: RemoteFPGA FPGA Server +# Description: RemoteFPGA FPGA Server +### END INIT INFO +# /etc/init.d/remotefpga-fpgaserver: start or stop the RemoteFPGA FPGA Server +# +# description: RemoteFPGA FPGA Server +# + +. /lib/lsb/init-functions + +set -e + +PATH=/opt/trinity/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/opt/trinity/bin/remotefpga_fpgaserver +PIDFILE=/var/run/remotefpga_authserver.pid +UPGRADEFILE=/var/run/remotefpga_authserver.upgrade + +DESC="RemoteFPGA FPGA Server" + +# If we upgraded the daemon, we can't use the --exec argument to +# start-stop-daemon since the inode will have changed. The risk here is that +# in a situation where the daemon died, its pidfile was not cleaned up, and +# some other process is now running under that pid, start-stop-daemon will send +# signals to an innocent process. However, this seems like a corner case. +# C'est la vie! +if [ -e $UPGRADEFILE ]; then + SSD_ARGS="--pidfile $PIDFILE --startas $DAEMON" +else + SSD_ARGS="--pidfile $PIDFILE --exec $DAEMON" +fi + +stillrunning () { + if expr "$(cat /proc/$DAEMONPID/cmdline 2> /dev/null)" : "$DAEMON" > /dev/null 2>&1; then + true + else + # if the daemon does not remove its own pidfile, we will + rm -f $PIDFILE $UPGRADEFILE + false + fi; +} + +case "$1" in + start) + log_action_begin_msg "Starting $DESC" + if start-stop-daemon --background --start --make-pidfile --quiet $SSD_ARGS -- $ARG; then + log_action_end_msg 0 + else + log_warning_msg "already running" + log_action_end_msg 0 + fi + ;; + + restart) + /etc/init.d/remotefpga-fpgaserver stop + if [ -f $PIDFILE ]; then + if stillrunning; then + exit 1 + fi + fi + /etc/init.d/remotefpga-fpgaserver start + ;; + + reload) + log_action_begin_msg "Reloading $DESC" + if start-stop-daemon --stop --signal 1 --quiet $SSD_ARGS; then + log_action_end_msg 0 + else + log_failure_msg "not running" + log_action_end_msg 1 + fi + ;; + + force-reload) + /etc/init.d/remotefpga-fpgaserver reload + ;; + + stop) + log_action_begin_msg "Stopping $DESC" + if [ ! -f $PIDFILE ]; then + log_failure_msg "Not running ($PIDFILE not found)" + log_action_end_msg 0 + exit 0 + else + if start-stop-daemon --stop --quiet $SSD_ARGS; then + log_action_end_msg 0 + else + log_failure_msg "not running" + log_action_end_msg 1 + fi + fi + ;; + + *) + echo "Usage: /etc/init.d/remotefpga-fpgaserver {start|stop|restart|reload|force-reload}" + exit 1 + ;; +esac + +exit 0 |