]> git.pld-linux.org Git - packages/php.git/blob - php-fpm.init
- for latest libevent (by Andrei Nigmatulin <andrei.nigmatulin#gmail.com>)
[packages/php.git] / php-fpm.init
1 #!/bin/sh
2 #
3 # php-fpm       PHP FastCGI Process Manager
4 #
5 # chkconfig:    345 80 30
6 #
7 # description:  PHP FastCGI Process Manager
8 #
9 # processname:  php.fpm
10 # config:       /etc/php/fpm.conf
11 # pidfile:      /var/run/php/fpm.pid
12 #
13 # $Id$
14
15 # Source function library
16 . /etc/rc.d/init.d/functions
17
18 # Get network config
19 . /etc/sysconfig/network
20
21 php_fpm_BIN=/usr/bin/php-cgi
22 php_fpm_CONF=/etc/php/fpm.conf
23 php_fpm_PID=/var/run/php/fpm.pid
24
25 php_opts="--fpm-config $php_fpm_CONF"
26
27 wait_for_pid() {
28         local try=0
29         while test $try -lt 35; do
30                 case "$1" in
31                         'created')
32                         if [ -f "$2" ]; then
33                                 try=''
34                                 break
35                         fi
36                         ;;
37
38                         'removed')
39                         if [ ! -f "$2" ]; then
40                                 try=''
41                                 break
42                         fi
43                         ;;
44                 esac
45
46                 echo -n .
47                 try=`expr $try + 1`
48                 sleep 1
49         done
50 }
51
52 start() {
53         echo -n "Starting php_fpm "
54
55         $php_fpm_BIN --fpm $php_opts
56
57         if [ "$?" != 0 ] ; then
58                 echo " failed"
59                 exit 1
60         fi
61
62         wait_for_pid created $php_fpm_PID
63
64         if [ -n "$try" ] ; then
65                 echo " failed"
66                 exit 1
67         else
68                 echo " done"
69         fi
70 }
71
72 stop() {
73         echo -n "Shutting down php_fpm "
74
75         if [ ! -r $php_fpm_PID ] ; then
76                 echo "warning, no pid file found - php-fpm is not running ?"
77                 exit 1
78         fi
79
80         kill -TERM `cat $php_fpm_PID`
81
82         wait_for_pid removed $php_fpm_PID
83
84         if [ -n "$try" ] ; then
85                 echo " failed"
86                 exit 1
87         else
88                 echo " done"
89         fi
90 }
91
92 quit() {
93         echo -n "Gracefully shutting down php_fpm "
94
95         if [ ! -r $php_fpm_PID ] ; then
96                 echo "warning, no pid file found - php-fpm is not running ?"
97                 exit 1
98         fi
99
100         kill -QUIT `cat $php_fpm_PID`
101
102         wait_for_pid removed $php_fpm_PID
103
104         if [ -n "$try" ] ; then
105                 echo " failed"
106                 exit 1
107         else
108                 echo " done"
109         fi
110 }
111
112 reload() {
113         echo -n "Reload service php-fpm "
114
115         if [ ! -r $php_fpm_PID ] ; then
116                 echo "warning, no pid file found - php-fpm is not running ?"
117                 exit 1
118         fi
119
120         kill -USR2 `cat $php_fpm_PID`
121         echo " done"
122 }
123
124 condrestart() {
125         if [ -f /var/lock/subsys/php-fpm ]; then
126                 stop
127                 start
128         else
129                 msg_not_running php-fpm
130                 RETVAL=$1
131         fi
132 }
133
134 flush-logs() {
135         echo -n "Re-opening php-fpm log file "
136
137         if [ ! -r $php_fpm_PID ] ; then
138                 echo "warning, no pid file found - php-fpm is not running ?"
139                 exit 1
140         fi
141
142         kill -USR1 `cat $php_fpm_PID`
143
144         echo " done"
145 }
146
147 RETVAL=0
148 # See how we were called.
149 case "$1" in
150   start)
151         start
152         ;;
153   stop)
154         stop
155         ;;
156   restart)
157         stop
158         start
159         ;;
160   try-restart)
161         condrestart 0
162         ;;
163   reload|force-reload)
164         reload
165         ;;
166   quit) # graceful shutdown
167         quit
168         ;;
169   flush-logs|logrotate)
170         flush-logs
171         ;;
172   status)
173         status php-fpm php.fpm
174         RETVAL=$?
175         ;;
176   *)
177         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|status}"
178         exit 3
179         ;;
180 esac
181
182 exit $RETVAL
This page took 0.036355 seconds and 3 git commands to generate.