启动脚本没有清除进程表

启动脚本没有清除进程表

我有一个代理服务器,一切正常。但是,我有一些问题和疑问。首先:当我在我的配置中执行“/etc/init.d/nginx stop”或“/etc/init.d/nginx restart”时,它不会重新加载,并且不会终止所有 nginx 进程。我的脚本:

case "$1" in
start)
echo Starting nginx

cd /usr/local/nginx/
wget https://www.dropbox.com/s/qweqwrqwrqwraqwe/nginx.cfg?dl=0 -O nginx.cfg

/usr/local/nginx/nginx /usr/local/nginx/nginx.cfg
RETVAL=$?
 echo
 [ $RETVAL ]
 ;;
stop)
 echo Stopping nginx
 if [ /usr/local/nginx/nginx.pid ]; then
 /bin/kill `cat /usr/local/nginx/nginx.pid`
 else
 /usr/bin/killall nginx
 fi
RETVAL=$?
echo
 [ $RETVAL ]
 ;;
restart|reload)
 echo Reloading nginx
 if [ /usr/local/nginx/nginx.pid ]; then
 /bin/kill -s USR1 `cat /usr/local/nginx/nginx.pid`
 else
 /usr/bin/killall -s USR1 nginx
 fi
 ;;
 *)
 echo Usage: $0 "{start|stop|restart}"
 exit 1
 esac
 exit 0

当我停止 nginx 时,我可以看到所有进程都在系统中。仅帮助:

killall -9 nginx && servie nginx start

这不太好,我哪里有错误?

第二个问题。我的配置在 dropbox 中,当我需要重新加载此配置时,我会这样做(您可以在我的启动脚本中看到):

cd /usr/local/nginx/
wget https://www.dropbox.com/s/qweqwrqwrqwraqwe/nginx.cfg?dl=0 -O nginx.cfg

它正确吗?也许你的代码正确?请帮忙解答这个问题。

相关内容