nohupは外部プログラムです。シェルプロセスの子プロセスに対するSIGHUPアクションを「無視」に変更するにはどうすればよいですか? (nohup以降のサブプロセスfork()
および/またはexecve()
プログラムから呼び出されたときにいくつかのパラメータに関して?)
nohupはシェルプロセスの子プロセスでのみ機能し、非シェルプロセスの子プロセスでは機能しませんか?
ありがとうございます。
答え1
nohup
この信号を無視するように設定してくださいSIGHUP
。GNUの実装。POSIX仕様nohup
指摘
当時の名前便利呼び出されると、SIGHUP信号は無視されるように設定する必要があります。
また良いですPOSIXで指定、子プロセスはを除く無視された信号を継承するため、無視された後にSIGCHLD
開始されたすべてのプロセスはそれ自体無視されます。nohup
SIGHUP
SIGHUP
nohup
処理は、親プロセスnohup
に関係なく、すべての子プロセスに適用されます。するnohup
nohup
いいえ(不可能) シェルかどうかにかかわらず、親が信号を処理する方法に影響を与えることはできません。