OSDN Git Service

Fixed chkconfig option
[ultramonkey-l7/ultramonkey-l7-v2.git] / init.d / l7vsd
1 #!/bin/sh
2 # Start/Stop script for l7vsd
3 #
4 # chkconfig: 2345 95 34
5 # description: Start and stop l7vsd
6 #              
7 # processname: l7vsd
8 #
9 # Author: Shinya TAKEBAYASHI
10 # Released: January 2008
11 # Licence: GNU General Public Licence
12
13 #L7VSD_OPTIONS=""               # run as non-blocking mode
14 L7VSD_OPTIONS="-b"              # run as blocking mode
15
16 PROG="l7vsd"
17 DAEMON="/usr/sbin/l7vsd"
18 SOCKFILE="/var/run/l7vs/l7vs"
19 PIDFILE="/var/run/l7vsd.pid"
20
21 start() {
22     if [ -e $PIDFILE ]; then
23         PROCS=`ps ax | grep $DAEMON | grep -v grep | wc -l`
24         if [ $PROCS -ne 0 ]; then
25             echo "$PROG is running."
26             RETVAL=-1
27             return
28         fi
29         cleanup
30     fi
31
32     ulimit -n 65536
33     echo -n "Starting $PROG: " 
34     `$DAEMON $L7VSD_OPTIONS`
35     RETVAL=$?
36
37     if [ $RETVAL -ne 0 ]; then
38         echo "error occured."
39         echo "$PROG was not started."
40     else
41         echo "done."
42         pidof $PROG > $PIDFILE
43     fi
44
45     return $RETVAL
46 }
47
48 stop() {
49     PID=`pidof l7vsd`
50     if [ -z $PID ]; then
51         echo "$PROG is not running."
52         RETVAL=-1
53         cleanup
54         return
55     fi
56
57     echo -n "Stopping $PROG: "
58     kill $PID
59     RETVAL=$?
60     
61     if [ $RETVAL -eq 0 ]; then
62         echo "done."
63         cleanup
64     fi
65
66     return $RETVAL
67 }
68
69 status() {
70     if [ ! -e $PIDFILE ]; then
71         echo "$PROG is not running."
72         RETVAL=-1
73     else
74         echo -n "$PROG running with pid: "
75         cat $PIDFILE
76         RETVAL=$?
77     fi
78     return $RETVAL
79 }
80
81 cleanup() {
82         rm -rf $PIDFILE
83         rm -rf $SOCKFILE
84 }
85
86
87 # Prefer for Running script
88 if [ ! -x $DAEMON ]; then
89     echo "$DAEMON does not exist!"
90     exit -1
91 fi
92
93 # Privilege check
94
95 if [ `id -u` -ne '0' ]; then
96     echo "This script must run as root."
97     exit -1
98 fi
99
100 case "$1" in
101     start)
102         start
103         ;;
104     
105     stop)
106         stop
107         ;;
108     
109     status)
110         status
111         ;;
112
113     restart)
114         stop
115         sleep 1
116         start
117         ;;
118
119     condrestart)
120         stop
121         sleep 1
122         start
123         ;;
124     
125     *)
126         echo "Usage: $0 {start|stop|restart|condrestart|status}"
127         RETVAL=-1
128
129 esac
130
131 exit $RETVAL