Bashのマニュアルによると
huponexitシェルオプションがshoptを使用して設定されている場合(62ページのセクション4.3.2 [組み込みShopt]を参照)、Bashは対話型ログインシェルが終了したときにすべてのジョブにSIGHUPを送信します。
次の状況では、なぜhuponexitが機能しないのですか?
インタラクティブシェルから
$ shopt -s huponexit
$ sleep 4321 &
[1] 13816
$ exit
その後、他のシェルから
$ ps -j 13816
PID PGID SID TTY STAT TIME COMMAND
13816 13816 13728 ? S 0:00 sleep 4321
ありがとうございます。
答え1
対話するときログインシェル終了
重要です。
$ bash -l
$ shopt -s huponexit
$ sleep 120 &
[1] 24235
その後、CtrlD終了します(あなたの例とは異なり使用)logout
。exit
$ ps -j 24235
PID PGID SID TTY STAT TIME COMMAND
相手sleep
も死亡しました。