#!/bin/bash # # /etc/init.d/hhvm_{SYSTEM_USER} # ### BEGIN INIT INFO # Provides: hhvm_{SYSTEM_USER} # 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 FastCGI Daemon ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="HHVM FastCGI Daemon" NAME=hhvm do_start() { if [ ! -d /var/run/hhvm ]; then mkdir -p -m0777 /var/run/hhvm else chmod 777 /var/run/hhvm fi if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then kill -0 `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ; case "$?" in 0) return 1 ;; esac fi if [[ -S /var/run/mysqld/mysqld.sock && ! -S /tmp/mysql.sock ]] ; then ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock ; fi umask 017 sudo -u {SYSTEM_USER} touch /var/run/hhvm/hhvm_{SYSTEM_USER}.pid INIFILE="" if [[ -e "/var/www/conf/{SYSTEM_USER}/php.ini" ]] ; then INIFILE="-vServer.IniFile=/var/www/conf/{SYSTEM_USER}/php.ini" ; elif [[ -e "/etc/php5/hhvm/php.ini" ]] ; then INIFILE="-vServer.IniFile=/etc/php5/hhvm/php.ini" ; elif [[ -e "/etc/php5/cgi/php.ini" ]] ; then INIFILE="-vServer.IniFile=/etc/php5/cgi/php.ini" ; fi /usr/bin/hhvm --mode daemon -vServer.Type=fastcgi --user {SYSTEM_USER} -vServer.FileSocket=/var/run/hhvm/hhvm.{SYSTEM_USER}.sock -vLog.Level=Warning -vLog.UseLogFile=false -vRepo.Central.Path=/var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc -vServer.FixPathInfo=false $INIFILE -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid } do_stop() { if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then kill -SIGTERM `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ; fi rm -f /var/run/hhvm/hhvm.{SYSTEM_USER}.sock /var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc /var/run/hhvm/hhvm_{SYSTEM_USER}.pid } case "$1" in start) do_start ;; stop) do_stop ;; restart|force-reload) do_stop case "$?" in 0|1) do_start ;; *) ;; esac ;; *) exit 3 ;; esac :