gpt4 book ai didi

linux - nohup 和 & 和有什么区别

转载 作者:IT老高 更新时间:2023-10-28 12:18:59 26 4
gpt4 key购买 nike

nohup myprocess.out &myprocess.out & 都将 myprocess.out 设置为在后台运行。关闭终端后,该过程仍在运行。它们有什么区别?

最佳答案

nohup捕获挂断信号(参见 man 7 signal ),而 & 符号没有捕获(除非 shell 以这种方式配置或根本不发送 SIGHUP)。

通常,当使用 & 运行命令时然后退出 shell,shell 将使用挂断信号 (kill -SIGHUP <pid>) 终止子命令。这可以使用 nohup 来防止。 ,因为它捕获信号并忽略它,因此它永远不会到达实际应用程序。

如果您使用 bash,可以使用命令 shopt | grep hupon找出是否您的 shell 是否将 SIGHUP 发送到其子进程。如果它关闭,进程将不会终止,因为它似乎是你的情况。有关 bash 如何终止的更多信息应用程序可以找到here .

在某些情况下,nohup不起作用,例如当您启动的进程重新连接时SIGHUP信号,因为它是 here .

关于linux - nohup 和 & 和有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com