File: python-4suite-server.init.d

package info (click to toggle)
python-4suite 0.99cvs20050418-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,824 kB
  • ctags: 18
  • sloc: sh: 499; makefile: 183
file content (135 lines) | stat: -rw-r--r-- 3,643 bytes parent folder | download
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