ちゃんと終了させるための修正。

suExecさせるためにさっき作ったラッパーだと、ruby index.fcgiをexecさせているため、lighttpdを終了させてもプロセスが残ってしまうことに気づいた。んで、lighttpd終了時にちゃんとプロセスを落とすスクリプト追加した。

(/usr/local/sbin/fcgidstop.sh)
=======
#!/bin/bash

USER=hoge
if ps -ef | grep ^$USER -q; then
     ps -ef | grep ^$USER| awk '{print $2}' | xargs kill
fi

んで、これを/etc/init.d/lighttpdに読み込ませるようにする。

$ rcsdiff -r1.1 -r1.2 -u ./lighttpd
===================================================================
RCS file: ./RCS/lighttpd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
 --- ./lighttpd      2008/04/20 05:49:44     1.1
 +++ ./lighttpd      2008/04/20 06:12:37     1.2
 @@ -43,11 +43,15 @@
     else
         log_end_msg 1
     fi
 +   # stop fcgid
 +   /usr/local/sbin/fcgidstop.sh
     ;;
    reload)
     log_daemon_msg "Reloading $DESC configuration" $NAME
     if start-stop-daemon --stop --signal 2 --oknodo --retry 30\
     --quiet --pidfile $PIDFILE --exec $DAEMON; then
 +   # stop fcgid
 +   /usr/local/sbin/fcgidstop.sh
         if start-stop-daemon --start --quiet  \
             --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS ; then
             log_end_msg 0