次の状況では、なぜhuponexitが機能しないのですか?

次の状況では、なぜhuponexitが機能しないのですか?

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終了します(あなたの例とは異なり使用)logoutexit

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

相手sleepも死亡しました。

おすすめ記事