HUP / SIGHUPキャプチャはbashスクリプトで機能しません。

HUP / SIGHUPキャプチャはbashスクリプトで機能しません。

このbashスクリプトがあります。 https://gist.github.com/ORESoftware/06dbb26a48d2ddf48a5a2166834e0836

ql_acquire_lockシェルを呼び出すときにmkdirディレクトリを呼び出せる場合は、ロックを取得します。私がそれを呼び出すと、ディレクトリql_release_lock、単純な内容が削除されます。

これql_acquire_lockで呼び出されると、次のものが呼び出されます。

トラップ ql_on_trap 終了 トラップ ql_on_trap SIGHUP トラップ ql_on_trap 0

理論的には、これらの信号のいずれかが受信されると、次のようにql_release_lock呼び出されます。

これ質問があります。問題は、ターミナルウィンドウを閉じるとスクリプトがSIGHUPまたはゼロ信号をキャプチャできないことです。 myは、ユーザーがSIGINTを発行すると呼び出され、trap最も確実にはEXITを介して呼び出されます。しかし、ユーザーがターミナルウィンドウ(SIGHUPを送信する必要があると思う)を閉じると、私のスクリプトは信号をtrapキャプチャしません。なぜこれが起こるのか知っている人がいますか?

ベストアンサー1

おすすめ記事