この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
キャプチャしません。なぜこれが起こるのか知っている人がいますか?