nohup运行shell脚本kill命令后代码不执行

yanyi1210 2017-05-22 02:36:18
我写了个自动重启进程 的shell脚本,直接运行没问题正常,但如果用nohup命令后台运行,执行到第四行kill掉进程后脚本就终止退出了

while :
do
if [ $(ps -ef|grep "node" | grep -v "grep" | wc -l) -eq 1 ];then
kill $(ps -ef|grep "node" | grep -v grep | awk '{print $2}')
else
echo "not found"
fi
node /home/run.js &
sleep 10m
done

另外个问题:如果脚本头加上#!/bin/sh ,直接运行脚本也是kill掉进程后退出
...全文
2642 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang007he 2018-12-20
  • 打赏
  • 举报
回复
你这代码,脚本自己杀死自己了
PangIO 2018-12-01
  • 打赏
  • 举报
回复 1
killall 会杀掉同名的所有进程 其中也包括当前执行的脚本 https://blog.csdn.net/wsclinux/article/details/50387121
木木子兄弟 2017-10-26
  • 打赏
  • 举报
回复
楼主问题解决了吗?怎么解决的?
曹宇飞丶 2017-08-25
  • 打赏
  • 举报
回复
还可以使用screen,可以统一的管理多个会话的界面和相应的功能。
hc_net 2017-08-25
  • 打赏
  • 举报
回复
直接后面 & 后台运行
Insane_linux 2017-08-22
  • 打赏
  • 举报
回复
在当前shell中使用&,将程序至于后台,当前shell结束,此后台程序也就结束了,要想让后台进程继续继续进行nohup command &来执行
qq_36186844 2017-08-01
  • 打赏
  • 举报
回复
楼主解决了么,我也遇到了同样的问题
  • 打赏
  • 举报
回复
echo $SHELL 看看你默认用的什么shell

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧