#!/bin/bash SITE="pyjob" DIR="/web/$SITE" PID="/var/run/www/$SITE.pid" SOCKET="/tmp/$SITE.sock" ERRLOG="/var/log/www/$SITE-error-fcgi.log" WORKERS="1" THREADS="1" CHMOD="777" ACTION=$1 NEED_START="yes" PROCESS="" if [ -f $PID ]; then pid=$(cat $PID) if [ -n "$pid" ]; then PROCESS=$(ps -p $pid --no-headers) if [ -n "$PROCESS" ]; then echo "Found active daemon with pid $pid" if [ "$ACTION" == "restart" -o "$ACTION" == "stop" ]; then for child in $(ps -o pid --ppid $pid --no-headers); do echo "Killing child process with pid $child" kill $child done echo "Killing parent process with pid $pid" kill $pid else NEED_START="no" fi fi fi fi if [ -z "$PROCESS" ]; then echo "No active daemon" fi if [ "$ACTION" == "stop" ]; then NEED_START="no" fi if [ "$NEED_START" == "yes" ]; then if [ -e $SOCKET ]; then echo "Deleting old socket $SOCKET" rm $SOCKET fi cmd="$DIR/manage.py runsuperfcgi socket=$SOCKET workers=$WORKERS threads=$THREADS daemonize=true pidfile=$PID errlog=$ERRLOG" echo echo "Starting daemon with command:" echo $cmd echo $cmd chmod $CHMOD $SOCKET fi