Enable Pidfile /var/run/ircd/ngircd.pid
[ngircd-alex.git] / contrib / Debian / ngircd.init
1 #!/bin/sh
2 #
3 # ngIRCd start and stop script for Debian-based systems
4 #
5 # $Id: ngircd.init,v 1.4 2005/02/14 00:44:48 alex Exp $
6 #
7
8 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
9 DAEMON=/usr/sbin/ngircd
10 NAME=ngIRCd
11 BASENAME=`basename $0`
12 DESC="IRC daemon"
13 PARAMS=""
14
15 test -f /etc/default/$BASENAME && . /etc/default/$BASENAME
16
17 test -x $DAEMON || exit 0
18
19 Check_Config()
20 {
21         $DAEMON --configtest >/dev/null 2>&1
22         if [ $? -ne 0 ]; then
23                 echo "Configuration of $NAME is not valide, won't (re)start!"
24                 echo "Please run \"$DAEMON --configtest\" manually and fix it up ..."
25                 exit 1
26         fi
27 }
28
29 Try_Start()
30 {
31         [ ! -d /var/run/ircd ] || chown irc:irc /var/run/ircd
32         start-stop-daemon --start --quiet --exec $DAEMON -- $PARAMS
33         if [ $? -ne 0 ]; then
34                 echo "$NAME failed!"
35                 exit 1
36         fi
37         echo "$NAME."
38 }
39
40 case "$1" in
41   start)
42         Check_Config
43         echo -n "Starting $DESC: "
44         Try_Start
45         ;;
46   stop)
47         echo -n "Stopping $DESC: "
48         start-stop-daemon --stop --quiet --pidfile /var/run/ircd/ngircd.pid --exec $DAEMON \
49           && echo "$NAME." \
50           || echo "(none running)"
51         ;;
52   reload|force-reload)
53         Check_Config
54         echo "Reloading $DESC configuration files."
55         start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
56         ;;
57   restart)
58         Check_Config
59         echo -n "Restarting $DESC: "
60         start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
61         sleep 1
62         Try_Start
63         ;;
64   *)
65         N=/etc/init.d/$NAME
66         echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
67         exit 1
68         ;;
69 esac
70
71 exit 0
72
73 # -eof-