您现在的位置是:首页 > 文章详情

Linux上重启服务的正确命令

日期:2018-08-03点击:506

在开发环境下,我们经常需要部署代码,重启服务,所以会把命令写在脚本中,方便使用。

我们可能这么写

#!/bin/bash ps -ef | grep backend-api-1.0 | grep -v "\-\-color" |awk '{print $2}' |xargs kill -9 sleep 1 nohup java -jar backend-api-1.0.jar >> backend-api.log 2>&1 & tail -f backend-api.log 

这个脚本看似没问题,可执行时,会出现kill: 向 PID 发送信号失败: 没有那个进程的错误,但是服务仍然能正常重启,也就是ps -ef | grep backend-api-1.0 | grep -v "\-\-color"这个命令并没有把当前执行进程过滤掉。

正确写法是:取项目名中的两个不同的单词,用两次grep,而不是用grep -v,如下

#!/bin/bash ps -ef | grep backend | grep api |awk '{print $2}' |xargs kill -9 sleep 1 nohup java -jar backend-api-1.0.jar >> backend-api.log 2>&1 & tail -f backend-api.log 
原文链接:https://yq.aliyun.com/articles/634468
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章