]> git.pld-linux.org Git - packages/freedt.git/blame - freedt.init
- detach svscan from terminal
[packages/freedt.git] / freedt.init
CommitLineData
0df64b18
AM
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.
22if is_yes "${NETWORKING}"; then
23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
24 msg_network_down svscan
25 exit 1
26 fi
27else
28 exit 0
29fi
30
31RETVAL=0
32# See how we were called.
33case "$1" in
34 start)
35 # Check if the service is already running?
36 if [ ! -f /var/lock/subsys/svscan ]; then
37 msg_starting svscan;
38 busy
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
d5b16765 42 setsid svscan $SVSCAN_DIR </dev/null > /dev/null 2>&1 &
0df64b18
AM
43 ok
44 else
45 fail
46 echo $(nls "Missing service directory")'!'
47 nls "Create %s first." "$SVSCAN_DIR"
48 RETVAL=1
49 fi
50 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan
51 else
52 msg_already_running svscan
53 fi
54 ;;
55 stop)
56 if [ -f /var/lock/subsys/svscan ]; then
57 msg_stopping svscan
58 killproc svscan
59 svc -d -x $SVSCAN_DIR/* \
60 $(find $SVSCAN_DIR/* -maxdepth 0 -follow -perm -1000|sed s-\$-/log-)
61 rm -f /var/run/svscan.pid /var/lock/subsys/svscan >/dev/null 2>&1
62 else
63 msg_not_running svscan
64 fi
65 ;;
66 restart|force-reload)
67 $0 stop
68 $0 start
69 exit $?
70 ;;
71 status)
72 status svscan
73 exit $?
74 ;;
75 *)
76 msg_usage "$0 {start|stop|restart|force-reload|status}"
77 exit 3
78esac
79
80exit $RETVAL
This page took 0.031764 seconds and 4 git commands to generate.