Nohup
nohup 是否僅適用於 shell 程序的子程序,而不適用於非 shell 程序的子程序?
nohup 是一個外部程序。它如何將shell程序的子程序的SIGHUP動作更改為“忽略”?(在子程序呼叫
fork()
和/或execve()
在 nohup 之後的程序上的一些參數方面?)nohup 是否僅適用於 shell 程序的子程序,而不適用於非 shell 程序的子程序?
謝謝。
nohup
將自身配置為忽略SIGHUP
信號;參見例如GNU 實現。POSIX 規範nohup
聲明在呼叫指定實用程序時,應將 SIGHUP 信號設置為忽略。
正如POSIX 所指定的,子程序繼承了除 之外的忽略信號,因此在它被忽略之後
SIGCHLD
啟動的任何程序本身都會忽略。nohup``SIGHUP``SIGHUP
nohup
的處理適用於 的任何子程序nohup
,而與nohup
的父程序無關。nohup
不會(也不會)影響其父母處理信號的方式,無論它們是否是外殼。