我正在尝试从用 C 编写的 CGI 脚本中重新启动 Boa Web 服务器。这是在 ucLinux 系统上。对 system("/etc/init.d/boa.sh restart") 的调用成功运行,我从日志中看到 Boa 已停止,但从未启动。从 CLI 运行 boa.sh restart 确实可以正常工作。boa.sh 脚本如下所示。关于为什么它没有完全重启的任何想法?请注意,CGI 脚本本身在 Boa 中运行。
NAME=boa
PROG=/bin/boa
OPTIONS="-c /etc/"
LOCKFILE=/var/lock/boa
STDLOGFILE=/var/log/boaerrlog.log
case "$1" in
start)
echo -n $"Starting $NAME: "
boa $OPTIONS > /dev/null 2>&1 &
# boa $OPTIONS >$STDOUTFILE 2>&1 &
touch $LOCKFILE
echo "OK"
;;
stop)
echo -n $"Stopping $NAME: "
kill -TERM `pidof $NAME` > /dev/null 2>&1
rm -f $LOCKFILE $PIDFILE > /dev/null 2>&1
echo "OK"
;;
restart)
$0 stop
$0 start
;;
status)
echo "running"
;;
esac