今天重启服务,发现服务bin目录下没有restart项。
查阅资料,服务下不提供重启,只能通过执行stop命令 和 start命令 实现重启。
所以自己写了一个shell脚本restart.sh,通过调用stop 和 start命令 实现重启。
起初,我所使用的是 exec命令调用stop.sh和start.sh脚本。
执行完stop.sh脚本,命令就执行完毕,就退出了,并没有调用后面的start.sh脚本
查看了stop.sh脚本内容,发现里面有命令exit,导致命令执行至此就退出了。
本想改掉stop.sh脚本,觉得还是不动原来服务脚本内容的好,所以没有改!
命令脚本如下:
exec ./stop.sh
exec ./start.sh
接下来,我把exec命令去掉后,就可用了。
无论前面的stop.sh脚本执行了什么内容或者是否执行成功,都不会干预下面命令的执行。
这就是想要的效果,故却掉exec 就达到所想要的效果了。
修改后的命令脚本如下:
./stop.sh
./start.sh
本文介绍了一种在服务bin目录中未提供重启选项时,如何通过编写Shell脚本实现服务重启的方法。作者最初尝试使用exec命令来执行stop.sh和start.sh脚本,但因stop.sh中的exit命令导致start.sh无法执行。最终通过去除exec命令解决了问题。
8868

被折叠的 条评论
为什么被折叠?



