今天讲到shell编程,我给大家讲解手工开发Nginx启动脚本时,写的脚本,调试发现有问题, 挺有意思的一个问题点,有2个地方有影响启动和停止的问题,有兴趣的可以研究下, 一周后公布结果! [root@oldboy 03]# cat nginxd-good #!/bin/sh RETVAL=0 path="/application/nginx" . /etc/init.d/functions start(){ if [ ! -f "$path/logs/nginx.pid" ] then [ -x $path/sbin/nginx ]||exit 1 $path/sbin/nginx RETVAL=$? if [ -f $path/logs/nginx.pid ];then action "Nginx startup" /bin/true else action "Nginx startup" /bin/false fi else echo "Nginx is running." fi return $RETVAL } stop(){ if [ ! -f "$path/logs/nginx.pid" ] then echo "nginx is not running.need not to stop it." else [ -x $path/sbin/nginx ]||exit 1 [ -f "$path/logs/nginx.pid" ]&&{ kill `cat $path/logs/nginx.pid` RETVAL=$? } if [ ! -f "$path/logs/nginx.pid" ];then action "Nginx is stopped." /bin/true else action "Nginx is stopped." /bin/false fi fi return $RETVAL } case "$1" in start) start RETVAL=$? ;; stop) stop RETVAL=$? ;; restart) $0 stop sleep 2 $0 start RETVAL=$? ;; reload) $path/sbin/nginx reload RETVAL=$? ;; *) echo "USAGE:$0 {start|stop|restart|reload}" esac exit $RETVAL
本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1630676
原文地址:http://oldboy.blog.51cto.com/2561410/1630676