]> git.pld-linux.org Git - packages/Zope.git/blob - Zope.init
- initscript ommits instance files which are renamed or generated by RPM
[packages/Zope.git] / Zope.init
1 #!/bin/sh
2 # zope
3 #
4 # chkconfig: 345 90 10
5 # description: Starts and stops the Zope instances
6 # processname: z2.py
7 # config: /etc/sysconfig/zope
8 #
9 # probe: true
10 #
11
12
13 # Source function library.
14 . /etc/rc.d/init.d/functions
15
16 # Source networking configuration.
17 . /etc/sysconfig/network
18
19 # Check that networking is up.
20 if is_yes "${NETWORKING}"; then
21         if [ ! -f /var/lock/subsys/network ]; then
22                 msg_network_down Zope
23                 exit 1
24         fi
25 else
26         exit 0
27 fi
28
29 # Zope settings.
30 . /etc/sysconfig/zope
31
32
33 # functions
34
35 unset_vars()
36 {
37     unset INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
38     unset ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
39     unset IP_ADDRESS HTTP_PORT FTP_PORT WATCHDOG
40     unset IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
41 }
42
43 start_instance()
44 {
45     msg_starting "$z_name"
46
47     INST_HOME="$INSTANCE_HOME"
48     ZOPE_HOME="$INSTANCE_HOME"
49
50     export INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
51     export ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
52     export IP_ADDRESS HTTP_PORT FTP_PORT WATCHDOG
53     export IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
54
55     daemon zope-start
56     RETVAL=$?
57     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zope
58     sleep 5
59 }
60
61 start_instances()
62 {
63     for i in /etc/zope/instances/*
64     do
65         unset_vars
66         INSTANCE_NAME=`basename $i`
67         echo "$INSTANCE_NAME" | egrep -q "rpmsave|rpmorig" && continue
68         . $i
69         PIDFILE=$INSTANCE_HOME/var/Z2.pid
70         if [ "x$INSTANCE_NAME" = "xmain" ]; then
71             z_name="Zope"
72         else
73             z_name="Zope ($INSTANCE_NAME)"
74         fi
75         if [ -f $PIDFILE ]; then
76             if ps -p `cat $PIDFILE` >/dev/null; then
77                     RETVAL=$?
78                     msg_already_running "$z_name"
79                     continue
80             else
81                 rm -f $PIDFILE
82             fi
83         fi
84         start_instance
85     done
86 }
87
88 stop_instances()
89 {
90     for i in /etc/zope/instances/*
91     do
92         unset_vars
93         . $i
94         PIDFILE=$INSTANCE_HOME/var/Z2.pid
95         INSTANCE_NAME=`basename $i`
96         if [ "x$INSTANCE_NAME" = "xmain" ]; then
97             z_name="Zope"
98         else
99             z_name="Zope ($INSTANCE_NAME)"
100         fi
101         
102         if [ -f $PIDFILE ]; then
103             msg_stopping "$z_name"
104             busy
105             kill `cat $PIDFILE` 2>/dev/null
106             RET=$?
107             sleep 1
108             if [ $RET -eq 0 ]; then
109                 ok
110             else
111                 sleep 5
112                 kill -9 `cat $PIDFILE` 2>/dev/null
113                 RET=$?
114                 [ $RET -eq 0 ] && ok || died
115             fi
116             rm -f $PIDFILE
117         else
118             msg_not_running "$z_name"
119         fi
120     done
121 }
122
123 stat_instances()
124 {
125     for i in /etc/zope/instances/*
126     do
127         unset_vars
128         . $i
129         PIDFILE=$INSTANCE_HOME/var/Z2.pid
130         INSTANCE_NAME=`basename $i`
131         if [ "x$INSTANCE_NAME" = "xmain" ]; then
132             z_name="Zope"
133         else
134             z_name="Zope ($INSTANCE_NAME)"
135         fi
136         if [ -f $PIDFILE ]; then
137             if ps -p `cat $PIDFILE` >/dev/null; then
138                 RETVAL=$?
139                 nls "%s (pid %s) is running..." "$z_name" "`cat $PIDFILE`"
140             else
141                 nls "%s dead but pid file exists" "$z_name"
142                 RETVAL=1
143             fi
144         else
145             nls "%s is stopped" "$z_name"
146             RETVAL=2
147         fi
148     done
149 }
150
151 # See how we were called.
152 case "$1" in
153   start)
154                 start_instances
155         ;;
156   stop)
157                 stop_instances
158         ;;
159   status)
160                 stat_instances
161         ;;
162   restart|force-reload)
163         $0 stop
164         $0 start
165         exit $?
166         ;;
167   *)
168         msg_usage "$0 {start|stop|restart|force-reload|status}"
169         exit 3
170         ;;
171 esac
172
173 exit $RETVAL
This page took 0.324537 seconds and 4 git commands to generate.