web-dev-qa-db-ja.com

以下でhuponexitが機能しないのはなぜですか?

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

ありがとう。

1
Tim

インタラクティブな場合ログインシェルが終了します

重要です。

$ bash -l
$ shopt -s huponexit
$ sleep 120 &
[1] 24235

次に CtrlD 終了し(例のようにlogoutではなくexitを使用)、

$ ps -j 24235
  PID  PGID   SID TTY      STAT   TIME COMMAND

sleepも殺されました。

3
Stephen Kitt