]> git.pld-linux.org Git - packages/daemontools.git/blame - daemontools.init
- drop requirement of find(1)
[packages/daemontools.git] / daemontools.init
CommitLineData
bf5d9a42 1#!/bin/sh
2#
3# svscan svscan (scan and run services)
4#
d40ca15a 5# chkconfig: 345 14 89
bf5d9a42 6#
7# description: svscan (scan and run services) is a server part of the daemontools suite.
8#
cf921eb1 9# $Id$
bf5d9a42 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.
4b6fb061 22if is_yes "${NETWORKING}"; then
16775bb2 23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
4b6fb061 24 msg_network_down svscan
25 exit 1
26 fi
27else
28 exit 0
bf5d9a42 29fi
d40ca15a 30
51ac2051 31start() {
bf5d9a42 32 # Check if the service is already running?
33 if [ ! -f /var/lock/subsys/svscan ]; then
44b049f5 34 msg_starting svscan
d46f536f 35 busy
bf5d9a42 36 # we can't get status report from background job
d46f536f 37 # but we can only do simple file check
bf5d9a42 38 if [ -w $SVSCAN_DIR ]; then
cf921eb1 39 daemon --fork /usr/sbin/svscan $SVSCAN_DIR
a09aca75 40 RETVAL=$?
bf5d9a42 41 else
42 fail
44b049f5 43 nls "Missing service directory. Create %s first." "$SVSCAN_DIR"
d46f536f 44 RETVAL=1
45 fi
bf5d9a42 46 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
47 else
169c05cb 48 msg_already_running svscan
bf5d9a42 49 fi
51ac2051
ER
50}
51
52stop() {
d46f536f 53 if [ -f /var/lock/subsys/svscan ]; then
bf5d9a42 54 msg_stopping svscan
55 killproc svscan
44b049f5
ER
56 for s in $SVSCAN_DIR/{,*/}*/run; do
57 if [ -x "$s" ]; then
58 svc="$svc ${s%/run}"
59 fi
60 done
61 if [ "$svc" ]; then
62 svc -d -x $svc
8970985a 63 fi
bf5d9a42 64 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
65 else
169c05cb 66 msg_not_running svscan
d40ca15a 67 fi
51ac2051
ER
68}
69
afd7c106
ER
70condrestart() {
71 if [ -f /var/lock/subsys/svscan ]; then
72 stop
73 start
74 else
75 msg_not_running svscan
76 RETVAL=$1
77 fi
78}
79
51ac2051
ER
80RETVAL=0
81# See how we were called.
82case "$1" in
83 start)
84 start
85 ;;
86 stop)
87 stop
bf5d9a42 88 ;;
05ef1cb1 89 restart|force-reload)
51ac2051
ER
90 stop
91 start
bf5d9a42 92 ;;
afd7c106
ER
93 try-restart)
94 condrestart 0
95 ;;
96 force-reload)
97 condrestart 7
98 ;;
bf5d9a42 99 status)
100 status svscan
62c0779a
ER
101 RETVAL=$?
102 svstat $SVSCAN_DIR/*
103 RETVAL=$(($RETVAL + $?))
bf5d9a42 104 ;;
105 *)
afd7c106 106 msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
05ef1cb1 107 exit 3
bf5d9a42 108esac
109
110exit $RETVAL
This page took 0.124666 seconds and 4 git commands to generate.