Tim Asked: 2018-11-27 13:40:54 +0800 CST2018-11-27 13:40:54 +0800 CST 2018-11-27 13:40:54 +0800 CST nohup 是否仅适用于 shell 进程的子进程,而不适用于非 shell 进程的子进程? 772 nohup 是一个外部程序。它如何将shell进程的子进程的SIGHUP动作更改为“忽略”?(在子进程调用fork()和/或execve()在 nohup 之后的程序上的一些参数方面?) nohup 是否仅适用于 shell 进程的子进程,而不适用于非 shell 进程的子进程? 谢谢。 nohup sighup 1 个回答 Voted Best Answer Stephen Kitt 2018-11-27T13:57:40+08:002018-11-27T13:57:40+08:00 nohup将自身配置为忽略SIGHUP信号;参见例如GNU 实现。POSIX 规范nohup声明 在调用指定实用程序时,应将 SIGHUP 信号设置为忽略。 正如POSIX 所指定的,子进程继承了除 之外的忽略信号,因此在它被忽略之后SIGCHLD启动的任何进程本身都会忽略。nohupSIGHUPSIGHUP nohup的处理适用于 的任何子进程nohup,而与nohup的父进程无关。nohup不会(也不会)影响其父母处理信号的方式,无论它们是否是外壳。
nohup
将自身配置为忽略SIGHUP
信号;参见例如GNU 实现。POSIX 规范nohup
声明正如POSIX 所指定的,子进程继承了除 之外的忽略信号,因此在它被忽略之后
SIGCHLD
启动的任何进程本身都会忽略。nohup
SIGHUP
SIGHUP
nohup
的处理适用于 的任何子进程nohup
,而与nohup
的父进程无关。nohup
不会(也不会)影响其父母处理信号的方式,无论它们是否是外壳。