]> git.pld-linux.org Git - packages/daemontools.git/blob - daemontools.init
- glibc 2.3.x patches.
[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_no "${NETWORKING}"; then
23         msg_network_down svscan
24         exit 1
25 fi
26                         
27
28 # See how we were called.
29 case "$1" in
30   start)
31         # Check if the service is already running?
32         if [ ! -f /var/lock/subsys/svscan ]; then
33                 msg_starting svscan; busy
34                 # we can't get status report from background job
35                 # but we can only do simple file check
36                 if [ -w $SVSCAN_DIR ]; then
37                         svscan $SVSCAN_DIR &
38                         ok
39                         RETVAL=0
40                 else
41                         fail
42                         echo "Missing service directory!"
43                         echo "Create $SVSCAN_DIR first."
44                         RETVAL=1
45                 fi
46                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
47         else
48                 msg_already_running svscan
49         fi
50         ;;
51   stop)
52         if [ -f /var/lock/subsys/svscan ]; then
53                 msg_stopping svscan
54                 killproc svscan
55                 svc -d -x $SVSCAN_DIR/* \
56                         $(find $SVSCAN_DIR/* -maxdepth 0 -follow -perm -1000|sed s-\$-/log-)
57                 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
58         else
59                 msg_not_running svscan
60                 exit 1
61         fi      
62         ;;
63   restart)
64         $0 stop
65         $0 start
66         ;;
67   status)
68         status svscan
69         exit $?
70         ;;
71   *)
72         msg_usage "$0 {start|stop|status|restart}"
73         exit 1
74 esac
75
76 exit $RETVAL
This page took 0.146623 seconds and 3 git commands to generate.