Bashマニュアルによると
Huponexit Shellオプションがshoptで設定されている場合(62ページのセクション4.3.2 [The Shopt Builtin]を参照)、インタラクティブログインシェルが終了すると、BashはすべてのジョブにSIGHUPを送信します。
以下でhuponexitが機能しないのはなぜですか?
1つのインタラクティブシェルで
$ 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
ありがとう。
インタラクティブな場合ログインシェルが終了します
重要です。
$ bash -l
$ shopt -s huponexit
$ sleep 120 &
[1] 24235
次に CtrlD 終了し(例のようにlogout
ではなくexit
を使用)、
$ ps -j 24235
PID PGID SID TTY STAT TIME COMMAND
sleep
も殺されました。