C로 작성된 CGI 스크립트 내부에서 Boa 웹 서버를 다시 시작하려고합니다. 이것은 ucLinux 시스템에 있습니다. 시스템 ("/ etc/init.d/boa.sh restart")에 대한 호출이 성공적으로 실행되고 보아가 중지되었다는 것을 로그에서 볼 수 있지만 시작되지는 않습니다. CLI에서 boa.sh를 다시 시작하면 정상적으로 작동합니다. boa.sh 스크립트는 다음과 같습니다. 왜 완전히 다시 시작하지 않는지에 대한 아이디어가 있습니까? 보아 내에서 CGI 스크립트 자체가 실행되고 있음을 유의하십시오.CGI에서 스크립트를 다시 시작하여 완전히 다시 시작하지 못했습니다.
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
CGI 스크립트를 실행하는 사용자에게 스크립트를 시작해야하는 모든 파일/디렉토리에 대한 권한이 있습니까? 필요한 모든 권한을 얻으려면 CGI 스크립트를 통해 sudo 명령을 사용해야 할 수도 있습니다. – Lipongo
예 권한은 괜찮을 것입니다. 루트 권한을 가진 유일한 임베디드 시스템입니다. 제안 해 주셔서 감사합니다. –
정지가 실제로 성공적으로 완료되었음을 나타내는 로깅이 있습니까? 또는 시작을 제안하는 로깅이 실제로 시작됩니까? – Lipongo