3 # svscan svscan (scan and run services)
7 # description: svscan (scan and run services) is a server part of the daemontools suite.
12 # Source function library
13 . /etc/rc.d/init.d/functions
16 . /etc/sysconfig/network
19 [ -f /etc/sysconfig/svscan ] && . /etc/sysconfig/svscan
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
32 # See how we were called.
35 # Check if the service is already running?
36 if [ ! -f /var/lock/subsys/svscan ]; then
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
46 echo $(nls "Missing service directory")'!'
47 nls "Create %s first." "$SVSCAN_DIR"
50 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
52 msg_already_running svscan
56 if [ -f /var/lock/subsys/svscan ]; then
59 svc=$(echo $SVSCAN_DIR/*)
60 if [ "$svc" != "$SVSCAN_DIR/*" ]; then
61 svc -d -x $SVSCAN_DIR/* \
62 $(find $SVSCAN_DIR/* -maxdepth 0 -follow -perm -1000|sed s-\$-/log-)
64 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
66 msg_not_running svscan
79 msg_usage "$0 {start|stop|restart|force-reload|status}"