File: pyscrabble-server.init

package info (click to toggle)
pyscrabble 1.6.2-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 15,280 kB
  • ctags: 1,396
  • sloc: python: 11,667; sh: 429; makefile: 71
file content (115 lines) | stat: -rw-r--r-- 2,811 bytes parent folder | download | duplicates (3)
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
#!/bin/sh
### BEGIN INIT INFO
# Provides:          pyscrabble-server
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: PyScrabble server
# Description:       Controls the PyScrabble server
### END INIT INFO

set -e

PATH=/sbin:/bin:/usr/bin
DESC="PyScrabble server"
NAME=python
NAME2=pyscrabble-server
DAEMON=/usr/sbin/pyscrabble-server
PIDFILE=/var/run/$NAME2.pid
SCRIPTNAME=/etc/init.d/$NAME2

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

. /lib/lsb/init-functions

USER="pyscrabble"

# Read config file if it is present.
if [ -r /etc/default/$NAME2 ]; then
	. /etc/default/$NAME2
fi

d_running() {
	start-stop-daemon --stop --quiet --pidfile $PIDFILE \
		--name $NAME --test > /dev/null
}

#
#	Function that starts the daemon/service.
#
d_start() {
	start-stop-daemon --start --oknodo --quiet --pidfile $PIDFILE --name $NAME \
	    --background --make-pidfile --chuid "$USER" --startas $DAEMON
}

#
#	Function that stops the daemon/service.
#
d_stop() {
	start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE --name $NAME
        rm -f $PIDFILE
}

case "$1" in
  start)
        log_daemon_msg "Starting $DESC" "$NAME2"
        if d_running; then 
            log_progress_msg "already running"
        else 
            d_start;
        fi
	log_end_msg 0
	;;
  stop)
	log_daemon_msg "Stopping $DESC" "$NAME2"
        if ! d_running; then
	    log_progress_msg "not running"
        else
	    d_stop
        fi
	log_end_msg 0
	;;
  #reload)
	#
	#	If the daemon can reload its configuration without
	#	restarting (for example, when it is sent a SIGHUP),
	#	then implement that here.
	#
	#	If the daemon responds to changes in its config file
	#	directly anyway, make this an "exit 0".
	#
	# echo -n "Reloading $DESC configuration..."
	# d_reload
	# 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".
	#
	log_daemon_msg "Restarting $DESC" "$NAME2"
	d_stop
	# One second might not be time enough for a daemon to stop, 
	# if this happens, d_start will fail (and dpkg will break if 
	# the package is being upgraded). Change the timeout if needed
	# be, or change d_stop to have start-stop-daemon use --retry. 
	# Notice that using --retry slows down the shutdown process somewhat.
	sleep 1
	d_start
	log_end_msg 0
	;;
  status)
        d_running || status="not "
        log_action_msg "Status of $DESC:" "${status}running"
        ;;
  *)
	# echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0