Nohup 和 &
跳到导航
跳到搜索
首先要知道
在 Linux 操作系统中使用命令启动一个进程后,Ctrl + C 会发送 SIGINT(SIGnal-INTerrupt) 信号导致进程停止;
关闭会话(exit 或 关闭 Xshell 窗口)会发出 SIGHUP(SIGnal: Hang-UP) 信号导致进程停止;
然后要知道关于 &
使用 & 启动程序可以使进程免疫 SIGINT 信号,Ctrl + C 的时候进程就不会停止;
但因为它并不免疫 SIGHUP 信号,所以此时 exit 或者关闭 Xshell 窗口再重新登录会发现进程还是停止了;
另外如果启动命令只有 & 的话,程序会输出内容到终端(控制台)
再来说说 nohup
使用 nohup 启动程序可以使进程免疫 SIGHUP 信号,直接 exit 或者关闭 Xshell 窗口的时候进程就不会停止;
还有 nohup 默认会输出内容到一个 nohup.out 的文件(没有自动创建)
总结
要想让程序在后台持续运行,nohup 和 & 就要一起用。