
〜のようにsystemd
tmux
daemon()
Redditに関する議論、私はこれだけですFreeBSDバージョンdaemon()
libc
ライブラリの呼び出し無視SIGHUP
sigaction(2)
、しかしオープンBSDまたはglibc/misc/daemon.c。なぜ?
答え1
私は追跡したhttps://svnweb.freebsd.org/base?view=revision&revision=122442そしてhttps://bugs.freebsd.org/bugzilla/show_bug.cgi?id=25462。
極端な場合もあるようです。SIGHUP
signal
配送時daemon()
図書館から電話が来ました。fork(2)
それから_exit(2)
両親のhup
配達(に従って_exit(2)
)そして、子プロセスを実行する親プロセスがすでにセッションリーダーである場合、子プロセスは次の説明に従って終了します。setsid(2)
。
呼び出し側がセッションリーダーの場合、これらの制限された場合に子プロセスが予期せず終了するのを防ぐために(この場合の完全なリストは上記のBugzillaにあります)、一時的に無視さSIGHUP
れます。