#!/bin/bash # # fcgiwrap init script for Slackware. # # Copyright 2012 Michiel Broek, the Netherlands. # source application-specific settings [ -f /etc/fcgiwrap.conf ] && . /etc/fcgiwrap.conf if [ ! -x /usr/bin/spawn-fcgi ]; then echo "fcgiwrap error, please install package spawn-fcgi" exit fi case "$1" in start) echo -n "Starting fcgiwrap for user: " i=0 while true; do [ -z "${FCGI_USER[$i]}" -a -z "${FCGI_PORT[$i]}" -a -z "${FCGI_SOCKET[$i]}" ] && break; unset FCGI_OPTIONS [ ${FCGI_ADDRESS[$i]} ] && FCGI_OPTIONS="-a ${FCGI_ADDRESS[$i]}" [ ${FCGI_PORT[$i]} ] && FCGI_OPTIONS="$FCGI_OPTIONS -p ${FCGI_PORT[$i]}" [ ${FCGI_SOCKET[$i]} ] && FCGI_OPTIONS="$FCGI_OPTIONS -s ${FCGI_SOCKET[$i]}" [ ${FCGI_USER[$i]} ] && FCGI_OPTIONS="$FCGI_OPTIONS -u ${FCGI_USER[$i]}" [ ${FCGI_GROUP[$i]} ] && FCGI_OPTIONS="$FCGI_OPTIONS -g ${FCGI_GROUP[$i]}" [ ${FCGI_EXTRA_OPTIONS[$i]} ] && FCGI_OPTIONS="$FCGI_OPTIONS -p ${FCGI_EXTRA_OPTIONS[$i]}" FCGI_OPTIONS="$FCGI_OPTIONS -P /var/run/fcgiwrap-$i.pid" /usr/bin/spawn-fcgi $FCGI_OPTIONS -- /usr/sbin/fcgiwrap &> /dev/null if [ $? -gt 0 ]; then echo "failed." break; fi echo -n "${FCGI_USER[$i]} " i=$(($i+1)); done echo ;; stop) echo -n "Stopping fcgiwrap daemon " for f in /var/run/fcgiwrap-*.pid ; do [ ! -f $f ] && break kill $(cat $f) echo -n "." rm -f $f done echo "" ;; restart) $0 stop sleep 3 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac