1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
#!/bin/bash
#
# skeleton example file to build /etc/init.d/ scripts.
# This file should be used to construct scripts for /etc/init.d.
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian GNU/Linux
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl
#
# This file was automatically customized by dh-make on Thu, 13 May 2004 13:29:53 +0200
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/4ss_manager
DAEMON_PROGRAM=/usr/share/4Suite/4ssd
NAME="4ssd"
PIDDIR="/var/run/4Suite"
LOGDIR="/var/log/4Suite"
DESC="4Suite Repository Dashboard"
DAEMON_STARTOPTIONS="start"
DAEMON_RESTARTOPTIONS="restart"
DAEMON_STOPOPTIONS="stop"
DAEMON_USER="ftss"
FTSS_CORE_ID="Core"
test -r /etc/default/4ss && source /etc/default/4ss
test -x $DAEMON -o -L $DAEMON || exit 0
PIDFILE=${PIDFILE:-"$PIDDIR/4ss.pid"}
export FTSS_USERNAME
export FTSS_PASSWORD
export FTSS_CORE_ID
[ -n "$FTSS_USERNAME" -a -n "$FTSS_PASSWORD" -a -n "$FTSS_CORE_ID" ] && \
export FTSS_ENVIRONMENT=${FTSS_ENVIRONMENT:-"('$FTSS_USERNAME','$FTSS_PASSWORD','$FTSS_CORE_ID')"}
function check_pidfile ()
{
if [ -e "$PIDFILE" ]; then
pid=`cat $PIDFILE`
if [ -e "/proc/$pid/cmdline" ]; then
# Determine if the PID belongs to our $DAEMON
if ! grep -q "$DAEMON_PROGRAM" "/proc/$pid/cmdline"; then
# This PID file is pending for deletetion.
rm -f "$PIDFILE"
fi
else
# This PID file is pending for deletetion.
rm -f "$PIDFILE"
fi
fi
}
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
check_pidfile
if [ ! -s "$PIDFILE" ]; then
if [ \( -n "$FTSS_USERNAME" -a -n "$FTSS_PASSWORD" \) -o "$DAEMON_STARTOPTIONS" != "start" ]; then
mkdir -p "$PIDDIR"
chown -R "${DAEMON_USER}:" "$PIDDIR"
mkdir -p "$LOGDIR"
chown -R "${DAEMON_USER}:" "$LOGDIR"
su "$DAEMON_USER" -c "\"$DAEMON\" $DAEMON_STARTOPTIONS >/dev/null 2>&1"
declare -i timeout=3
while [ $timeout -gt 0 ]; do
if [ -s "$PIDFILE" ]; then
pid=`cat "$PIDFILE"`
grep -q "$DAEMON_PROGRAM" "/proc/$pid/cmdline" \
&& break
fi
((timeout--))
echo -n ". "
sleep 1
done
[ $timeout -gt 0 ] \
&& echo "$NAME." \
|| echo "FAILED."
else
echo "UNCONFIGURED."
fi
else
echo "already running."
fi
;;
stop)
echo -n "Stopping $DESC: "
if [ \( -n "$FTSS_USERNAME" -a -n "$FTSS_PASSWORD" \) -o "$DAEMON_STOPOPTIONS" != "stop" ]; then
su "$DAEMON_USER" -c "$DAEMON" $DAEMON_STOPOPTIONS 2>&1 >/dev/null
sleep 1
[ -r "$PIDFILE" ] && echo "FAILED." || echo "$NAME."
else
echo "UNCONFIGURED."
fi
;;
#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 "Reloading $DESC configuration files."
# start-stop-daemon --stop --signal 1 --quiet --pidfile \
# /var/run/$NAME.pid --exec $DAEMON
#;;
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: "
if [ \( -n "$FTSS_USERNAME" -a -n "$FTSS_PASSWORD" \) -o "$DAEMON_RESTARTOPTIONS" != "restart" ]; then
su "$DAEMON_USER" -c "$DAEMON" $DAEMON_RESTARTOPTIONS 2>&1 >/dev/null
[ -r "$PIDFILE" ] && echo "$NAME." || echo "FAILED."
else
echo "UNCONFIGURED."
fi
;;
*)
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
|