Nohup

nohup 是否僅適用於 shell 程序的子程序,而不適用於非 shell 程序的子程序?

  • November 26, 2018

nohup 是一個外部程序。它如何將shell程序的子程序的SIGHUP動作更改為“忽略”?(在子程序呼叫fork()和/或execve()在 nohup 之後的程序上的一些參數方面?)

nohup 是否僅適用於 shell 程序的子程序,而不適用於非 shell 程序的子程序?

謝謝。

nohup將自身配置為忽略SIGHUP信號;參見例如GNU 實現POSIX 規範nohup聲明

在呼叫指定實用程序時,應將 SIGHUP 信號設置為忽略。

正如POSIX 所指定的,子程序繼承了除 之外的忽略信號,因此在它被忽略之後SIGCHLD啟動的任何程序本身都會忽略。nohup``SIGHUP``SIGHUP

nohup的處理適用於 的任何子程序nohup,而與nohup的父程序無關。nohup不會(也不會)影響其父母處理信號的方式,無論它們是否是外殼。

引用自:https://unix.stackexchange.com/questions/484308