mirror of
https://github.com/php/php-src.git
synced 2024-11-25 10:54:15 +08:00
157 lines
2.3 KiB
Bash
157 lines
2.3 KiB
Bash
#! /bin/sh
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: php-fpm
|
|
# Required-Start: $remote_fs $network
|
|
# Required-Stop: $remote_fs $network
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: starts php-fpm
|
|
# Description: starts the PHP FastCGI Process Manager daemon
|
|
### END INIT INFO
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
|
|
php_fpm_BIN=@sbindir@/php-fpm
|
|
php_fpm_CONF=@sysconfdir@/php-fpm.conf
|
|
php_fpm_PID=@localstatedir@/run/php-fpm.pid
|
|
|
|
|
|
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
|
|
|
|
|
|
wait_for_pid () {
|
|
try=0
|
|
|
|
while test $try -lt 35 ; do
|
|
|
|
case "$1" in
|
|
'created')
|
|
if [ -f "$2" ] ; then
|
|
try=''
|
|
break
|
|
fi
|
|
;;
|
|
|
|
'removed')
|
|
if [ ! -f "$2" ] ; then
|
|
try=''
|
|
break
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
echo -n .
|
|
try=`expr $try + 1`
|
|
sleep 1
|
|
|
|
done
|
|
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
echo -n "Starting php-fpm "
|
|
|
|
$php_fpm_BIN --daemonize $php_opts
|
|
|
|
if [ "$?" != 0 ] ; then
|
|
echo " failed"
|
|
exit 1
|
|
fi
|
|
|
|
wait_for_pid created $php_fpm_PID
|
|
|
|
if [ -n "$try" ] ; then
|
|
echo " failed"
|
|
exit 1
|
|
else
|
|
echo " done"
|
|
fi
|
|
;;
|
|
|
|
stop)
|
|
echo -n "Gracefully shutting down php-fpm "
|
|
|
|
if [ ! -r $php_fpm_PID ] ; then
|
|
echo "warning, no pid file found - php-fpm is not running ?"
|
|
exit 1
|
|
fi
|
|
|
|
kill -QUIT `cat $php_fpm_PID`
|
|
|
|
wait_for_pid removed $php_fpm_PID
|
|
|
|
if [ -n "$try" ] ; then
|
|
echo " failed. Use force-quit"
|
|
exit 1
|
|
else
|
|
echo " done"
|
|
fi
|
|
;;
|
|
|
|
status)
|
|
if [ ! -r $php_fpm_PID ] ; then
|
|
echo "php-fpm is stopped"
|
|
exit 0
|
|
fi
|
|
|
|
PID=`cat $php_fpm_PID`
|
|
if ps -p $PID | grep -q $PID; then
|
|
echo "php-fpm (pid $PID) is running..."
|
|
else
|
|
echo "php-fpm dead but pid file exists"
|
|
fi
|
|
;;
|
|
|
|
force-quit)
|
|
echo -n "Terminating php-fpm "
|
|
|
|
if [ ! -r $php_fpm_PID ] ; then
|
|
echo "warning, no pid file found - php-fpm is not running ?"
|
|
exit 1
|
|
fi
|
|
|
|
kill -TERM `cat $php_fpm_PID`
|
|
|
|
wait_for_pid removed $php_fpm_PID
|
|
|
|
if [ -n "$try" ] ; then
|
|
echo " failed"
|
|
exit 1
|
|
else
|
|
echo " done"
|
|
fi
|
|
;;
|
|
|
|
restart)
|
|
$0 stop
|
|
$0 start
|
|
;;
|
|
|
|
reload)
|
|
|
|
echo -n "Reload service php-fpm "
|
|
|
|
if [ ! -r $php_fpm_PID ] ; then
|
|
echo "warning, no pid file found - php-fpm is not running ?"
|
|
exit 1
|
|
fi
|
|
|
|
kill -USR2 `cat $php_fpm_PID`
|
|
|
|
echo " done"
|
|
;;
|
|
|
|
configtest)
|
|
$php_fpm_BIN -t
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"
|
|
exit 1
|
|
;;
|
|
|
|
esac
|