slackbuilds_ponce/development/hhvm/etc/rc.hhvm
Eugene Wissner 86895c3f08 development/hhvm: Updated for version 3.20.2.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2017-06-11 19:59:47 +07:00

161 lines
2.3 KiB
Bash

#!/bin/sh
#
### BEGIN INIT INFO
# Provides: hhvm
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts the HHVM daemon
### END INIT INFO
DAEMON=/usr/bin/hhvm
PIDFILE=/var/run/hhvm/pid
hhvm_SOCKET=/var/run/hhvm/sock
hhvm_GROUP=${hhvm_GROUP:-apache}
CONFIG_FILE="/etc/hhvm/server.ini"
SYSTEM_CONFIG_FILE="/etc/hhvm/php.ini"
DAEMON_ARGS="--config ${SYSTEM_CONFIG_FILE} \
--config ${CONFIG_FILE} \
-vPidFile=${PIDFILE}"
do_stop () {
try=0
if [ ! -r $2 ]; then
echo "warning, no pid file found - HHVM is not running?"
exit 1
fi
PID=`cat $2`
kill $1 $PID
# Waiting for HHVM to shutdown
while test $try -lt 35
do
if ps -p $PID | grep -q $PID
then
echo -n .
try=`expr $try + 1`
sleep 1
else
try=''
break
fi
done
if [ -n "$try" ]
then
echo " failed. Use force-quit"
exit 1
else
rm -f $2
echo " done"
fi
}
wait_for_pid () {
try=0
while test $try -lt 35
do
if [ -f "$1" ] ; then
try=''
break
fi
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "Starting HHVM "
if [ -r $PIDFILE ]; then
echo "warning, pid file found - HHVM is already running?"
exit 1
fi
echo
$DAEMON --mode daemon $DAEMON_ARGS
if [ "$?" != 0 ]
then
echo "Failed"
exit 1
fi
mkdir -p `dirname $PIDFILE`
wait_for_pid $PIDFILE
if [ -n "$try" ] ; then
echo " failed"
exit 1
fi
# Set the socket permissions if HHVM uses UDS
if [ -S "$hhvm_SOCKET" ]
then
chgrp $hhvm_GROUP $hhvm_SOCKET
fi
echo " done"
;;
stop)
echo -n "Stopping HHVM "
do_stop -QUIT $PIDFILE
;;
force-quit)
echo -n "Terminating HHVM "
do_stop -TERM $PIDFILE
;;
status)
if [ ! -r $PIDFILE ]
then
echo "HHVM is stopped"
exit 0
fi
PID=`cat $PIDFILE`
if ps -p $PID | grep -q $PID
then
echo "HHVM (pid $PID) is running..."
else
echo "HHVM dead but pid file exists"
fi
;;
restart)
sh $0 stop
sh $0 start
;;
reload)
echo -n "Reload service HHVM "
if [ ! -r $PIDFILE ]
then
echo "warning, no pid file found - HHVM is not running?"
exit 1
fi
kill -USR2 `cat $PIDFILE`
echo " done"
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-quit}" >&2
exit 1
;;
esac