nohup & – Linux后台挂起要点总结
文章目录
1 nohup
nohup的意思并不是后台运行,nohup的作用是不挂断地运行命令.
使用场景:比如使用Xshell等远程连接工具执行Linux脚本命令时,而命令对应的任务又需要很长时间才能结束(如深度学习的训练等),一旦遇到网络问题,连接发生中断,终端断开,程序运行不完就会意外结束. 此时,可以使用nohup指令等来运行指令,使程序可以忽略掉挂起信号,保持运行状态.
语法:nohup Command [Arg...] [ &]
2 &
须注意,&才是指后台运行.
只是后台运行,前端看不见,并不能保证挂起时不中断.
3 nohup 结合 &
综上所述,nohup和&结合才是"后台运行且挂起不中断".
例:
nohup sh myshell.sh &
运行完成后,可以用ps命令查看该nohup执行命令的id,然后用kill命令关闭进程.
ps -aux
查看特定的进程id
ps -aux|grep myshell.sh
关闭进程
kill -9 [id]
4 挂起后防止中断退出
这里单独记一点,nohup & 后台运行后,并不能保证中断挂起时不会退出.
尤其不能直接关闭终端.
可以采用如下方法:在终端中主动exit关闭当前终端.
最后这一点既然是单独拎出来,说明它很重要,切记.