捕获 HUP/SIGHUP 在 bash 脚本中不起作用

捕获 HUP/SIGHUP 在 bash 脚本中不起作用

我有这个 bash 脚本: https://gist.github.com/ORESoftware/06dbb26a48d2ddf48a5a2166834e0836

当我调用ql_acquire_lockshell 时,如果我可以调用mkdir目录,那么我就获取该锁。当我调用 时ql_release_lock,它会删除该目录,简单的东西。

现在,当ql_acquire_lock被调用时,它调用:

陷阱 ql_on_trap 退出陷阱 ql_on_trap SIGHUP 陷阱 ql_on_trap 0

理论上,如果收到任何这些信号,则会ql_release_lock被调用:

我有问题是当我关闭终端窗口时,我的脚本不会捕获 SIGHUP 或 0 信号。当用户发出 SIGINT 时,mytrap被调用,最肯定的是通过 EXIT 调用。但是当用户关闭终端窗口时(我相信应该发送 SIGHUP),我的脚本trap不会捕获信号。有人知道为什么会这样吗?

相关内容