Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Copyright 2010 Lekensteyn
- # This script is public domain and comes with NO WARRANTY of any kind
- #
- # Events handler (handles build queue, attacks, etc)
- if test `id -u` -eq 0;then
- sudo -u nobody -- "$0"
- exit
- fi
- running=true
- trap 'running=false' 1 2 3 15
- cd "$(dirname "$0")/.."
- BASEDIR="`pwd`"
- PIDFILE="$BASEDIR/tmp/event_second.pid"
- killed=
- # if a pidfile still exist (unclean shutdown), kill that pid and wait
- # 2 seconds for it to catch our signal
- test -f "$PIDFILE" && kill -15 "`cat "$PIDFILE"`" >/dev/null && killed=1
- printf $$ > "$PIDFILE"
- test -n "$killed" && sleep 2
- cd htdocs/welt2/daemons
- run(){
- test -f "$PIDFILE" || exit 2
- sleep 1
- if test ! -S "$BASEDIR/tmp/mysql.sock";then
- echo 'MySQL is not running.'
- return
- fi
- # start PHP, run build queues, attacks, etc
- env -i LD_LIBRARY_PATH="$BASEDIR/lib" "$BASEDIR/php/php" event.php &
- pid=$!
- # check if we still should run (if we have not been killed)
- while $running;do
- # is PHP not running anymore? Restart it
- if ! kill -0 $pid 2>/dev/null >/dev/null;then
- run
- return
- fi
- # and wait a second as we do not have to check realtime
- sleep 1
- done
- # kill PHP
- kill -15 $pid 2>/dev/null >/dev/null
- }
- run
- detect_pid=`cat "$PIDFILE"`
- test "$detect_pid" = $$ && rm -f "$PIDFILE"
Add Comment
Please, Sign In to add comment