]> git.pld-linux.org Git - packages/Zope.git/blame - Zope.init
- post shouldn't depend on environment (use umask, initialize was_stopped)
[packages/Zope.git] / Zope.init
CommitLineData
8bc946c6 1#!/bin/sh
2e8ebf1a 2# zope
8bc946c6 3#
2e8ebf1a 4# chkconfig: 345 90 10
5# description: Starts and stops the Zope instances
6# processname: z2.py
7# config: /etc/sysconfig/zope
8bc946c6 8#
8bc946c6 9# probe: true
2e8ebf1a 10#
11
8bc946c6 12
13# Source function library.
14. /etc/rc.d/init.d/functions
15
92684bdc 16# Source networking configuration.
17. /etc/sysconfig/network
18
19# Check that networking is up.
20if is_yes "${NETWORKING}"; then
2e8ebf1a 21 if [ ! -f /var/lock/subsys/network ]; then
92684bdc 22 msg_network_down Zope
23 exit 1
24 fi
25else
26 exit 0
27fi
28
2e8ebf1a 29# Zope settings.
30. /etc/sysconfig/zope
8bc946c6 31
2e8ebf1a 32
33# functions
34
35unset_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
43start_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
61start_instances()
62{
63 for i in /etc/zope/instances/*
64 do
65 unset_vars
41053b13 66 INSTANCE_NAME=`basename $i`
67 echo "$INSTANCE_NAME" | egrep -q "rpmsave|rpmorig" && continue
2e8ebf1a 68 . $i
69 PIDFILE=$INSTANCE_HOME/var/Z2.pid
2e8ebf1a 70 if [ "x$INSTANCE_NAME" = "xmain" ]; then
71 z_name="Zope"
72 else
73 z_name="Zope ($INSTANCE_NAME)"
8bc946c6 74 fi
2e8ebf1a 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
88stop_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
ac4a49a8 113 RET=$?
ac4a49a8 114 [ $RET -eq 0 ] && ok || died
2e8ebf1a 115 fi
116 rm -f $PIDFILE
9eea75be 117 else
2e8ebf1a 118 msg_not_running "$z_name"
119 fi
120 done
121}
122
123stat_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)"
9eea75be 135 fi
ac4a49a8 136 if [ -f $PIDFILE ]; then
2e8ebf1a 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
ac4a49a8 144 else
2e8ebf1a 145 nls "%s is stopped" "$z_name"
146 RETVAL=2
8bc946c6 147 fi
2e8ebf1a 148 done
149}
150
151# See how we were called.
152case "$1" in
153 start)
154 start_instances
155 ;;
156 stop)
157 stop_instances
158 ;;
159 status)
160 stat_instances
8bc946c6 161 ;;
ac4a49a8 162 restart|force-reload)
8bc946c6 163 $0 stop
164 $0 start
ac4a49a8 165 exit $?
8bc946c6 166 ;;
167 *)
ac4a49a8 168 msg_usage "$0 {start|stop|restart|force-reload|status}"
169 exit 3
8bc946c6 170 ;;
171esac
172
173exit $RETVAL
This page took 0.050803 seconds and 4 git commands to generate.