]> git.pld-linux.org Git - packages/daemontools.git/blob - daemontools.init
- killed trailing spaces/tabs
[packages/daemontools.git] / daemontools.init
1 #!/bin/sh
2 #
3 # svscan        svscan (scan and run services)
4 #
5 # chkconfig:    345 14 89
6 #
7 # description:  svscan (scan and run services) is a server part of the daemontools suite.
8 #
9 # id:           $Id$
10 #
11
12 # Source function library
13 . /etc/rc.d/init.d/functions
14
15 # Get network config
16 . /etc/sysconfig/network
17
18 # Get service config
19 [ -f /etc/sysconfig/svscan ] && . /etc/sysconfig/svscan
20
21 # Check that networking is up.
22 if is_yes "${NETWORKING}"; then
23         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24                 msg_network_down svscan
25                 exit 1
26         fi
27 else
28         exit 0
29 fi
30
31 RETVAL=0
32 # See how we were called.
33 case "$1" in
34   start)
35         # Check if the service is already running?
36         if [ ! -f /var/lock/subsys/svscan ]; then
37                 msg_starting svscan;
38                 busy
39                 # we can't get status report from background job
40                 # but we can only do simple file check
41                 if [ -w $SVSCAN_DIR ]; then
42                         daemon --fork svscan $SVSCAN_DIR
43                         RETVAL=$?
44                 else
45                         fail
46                         echo $(nls "Missing service directory")'!'
47                         nls "Create %s first." "$SVSCAN_DIR"
48                         RETVAL=1
49                 fi
50                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
51         else
52                 msg_already_running svscan
53         fi
54         ;;
55   stop)
56         if [ -f /var/lock/subsys/svscan ]; then
57                 msg_stopping svscan
58                 killproc svscan
59                 svc -d -x $SVSCAN_DIR/* \
60                     $(find $SVSCAN_DIR/* -maxdepth 0 -follow -perm -1000|sed s-\$-/log-)
61                 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
62         else
63                 msg_not_running svscan
64         fi
65         ;;
66   restart|force-reload)
67         $0 stop
68         $0 start
69         exit $?
70         ;;
71   status)
72         status svscan
73         exit $?
74         ;;
75   *)
76         msg_usage "$0 {start|stop|restart|force-reload|status}"
77         exit 3
78 esac
79
80 exit $RETVAL
This page took 0.107276 seconds and 3 git commands to generate.