]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/blob - files/etc/init.d/s6
29bf0e2d2689d5d71370e1245fd71e3cdeba0666
[user/henk/code/puppet/modules/s6.git] / files / etc / init.d / s6
1 #!/bin/sh
2
3 ### BEGIN INIT INFO
4 # Provides:          s6
5 # Required-Start:    $remote_fs $syslog nftables
6 # Required-Stop:     $remote_fs $syslog nftables
7 # Default-Start:     2 3 4 5
8 # Default-Stop:      0 1 6
9 # Short-Description: Start s6 service supervision suite
10 # Description:       Start s6 service supervision suite
11 ### END INIT INFO
12
13 NAME="s6"
14 DESC="s6 system service supervision suite"
15 DAEMON="/usr/local/bin/s6-svscanboot"
16 SCANDIR="/etc/s6-scandir/"
17 DAEMON_ARGS=${SCANDIR}
18 SCRIPTNAME="/etc/init.d/${NAME}"
19
20 test -x $DAEMON || exit 0
21
22 if test -f /etc/default/${NAME}; then
23         . /etc/default/${NAME}
24 fi
25
26 . /lib/init/vars.sh
27 . /lib/lsb/init-functions
28
29 case "$1" in
30         start)
31                 if $0 status > /dev/null ; then
32                         log_success_msg "$NAME is already running"
33                 else
34                         log_daemon_msg "Starting ${DESC}" "${NAME}"
35                         /sbin/start-stop-daemon \
36                                 --start \
37                                 --oknodo \
38                                 --chdir "${SCANDIR}" \
39                                 --exec "${DAEMON}" \
40                                 -- "${DAEMON_ARGS}"
41                         log_end_msg $?
42                 fi
43                 ;;
44         stop)
45                 log_daemon_msg "Stopping ${DESC}" "${NAME}"
46                 /usr/bin/s6-svscanctl -t "${SCANDIR}"
47                 if test $? = 111; then
48                         /sbin/start-stop-daemon \
49                                 --stop \
50                                 --oknodo \
51                                 --retry TERM/60/KILL/10 \
52                                 --exec /usr/bin/s6-svscan
53                         /sbin/start-stop-daemon \
54                                 --stop \
55                                 --oknodo \
56                                 --retry TERM/60 \
57                                 --exec /usr/bin/s6-supervise
58                 fi
59                 log_end_msg $?
60                 ;;
61         force-reload|restart)
62                 $0 stop
63                 $0 start
64                 ;;
65         status)
66                 /usr/bin/s6-svscanctl "${SCANDIR}"
67                 exitcode=$?
68                 case "$exitcode" in
69                         0)
70                                 log_success_msg "$NAME is running"
71                                 return ${exitcode}
72                                 ;;
73                         100)
74                                 log_failure_msg "$NAME is not running"
75                                 return ${exitcode}
76                                 ;;
77                         *)
78                                 log_failure_msg "$NAME has some problem, exit code was ${exitcode}"
79                                 return ${exitcode}
80                                 ;;
81                 esac
82                 ;;
83         *)
84                 echo "Usage: ${SCRIPTNAME} {start|stop|restart|force-reload|status}"
85                 exit 1
86                 ;;
87 esac
88
89 exit 0