“Nohup 和 &”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“1”的新页面) |
Jihongchang(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | + | === 首先要知道 === | |
+ | 在 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 和 & 就要一起用。 |
2023年2月16日 (四) 06:20的最新版本
首先要知道
在 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 和 & 就要一起用。