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