]> git.pld-linux.org Git - packages/daemontools.git/blame - daemontools.init
- unbreak finding log services
[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
d46f536f 34 msg_starting svscan;
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
4b6fb061 43 echo $(nls "Missing service directory")'!'
d46f536f 44 nls "Create %s first." "$SVSCAN_DIR"
45 RETVAL=1
46 fi
bf5d9a42 47 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
48 else
169c05cb 49 msg_already_running svscan
bf5d9a42 50 fi
51ac2051
ER
51}
52
53stop() {
d46f536f 54 if [ -f /var/lock/subsys/svscan ]; then
bf5d9a42 55 msg_stopping svscan
56 killproc svscan
8970985a
ER
57 svc=$(echo $SVSCAN_DIR/*)
58 if [ "$svc" != "$SVSCAN_DIR/*" ]; then
59 svc -d -x $SVSCAN_DIR/* \
59b19cab 60 $(find $SVSCAN_DIR/* -maxdepth 0 -follow -perm -1000 | sed -e 's,$,/log,')
8970985a 61 fi
bf5d9a42 62 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
63 else
169c05cb 64 msg_not_running svscan
d40ca15a 65 fi
51ac2051
ER
66}
67
afd7c106
ER
68condrestart() {
69 if [ -f /var/lock/subsys/svscan ]; then
70 stop
71 start
72 else
73 msg_not_running svscan
74 RETVAL=$1
75 fi
76}
77
51ac2051
ER
78RETVAL=0
79# See how we were called.
80case "$1" in
81 start)
82 start
83 ;;
84 stop)
85 stop
bf5d9a42 86 ;;
05ef1cb1 87 restart|force-reload)
51ac2051
ER
88 stop
89 start
bf5d9a42 90 ;;
afd7c106
ER
91 try-restart)
92 condrestart 0
93 ;;
94 force-reload)
95 condrestart 7
96 ;;
bf5d9a42 97 status)
98 status svscan
62c0779a
ER
99 RETVAL=$?
100 svstat $SVSCAN_DIR/*
101 RETVAL=$(($RETVAL + $?))
bf5d9a42 102 ;;
103 *)
afd7c106 104 msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
05ef1cb1 105 exit 3
bf5d9a42 106esac
107
108exit $RETVAL
This page took 0.067723 seconds and 4 git commands to generate.