如何知道 SIGHUP 信号是否已处理



我有一个python脚本,它向另一个进程发送SIGHUP信号,与我的脚本无关(不是子进程,不可更改)。当进程收到 SIGHUP 时,它会启动"轻度重启",重新加载配置文件并更新信息。"重新启动"不会停止该过程,因此我迫不及待地等待退出代码。我知道我可以查看进程日志文件以了解信号是否已处理,但这对于脚本流来说太重且太慢。

想知道我是否可以使用另一种方法来警告我的流程已收到 SIGHUP?

inotify-tools C 库可能会解决您的问题。它的安装使您可以访问新命令: inotifywaitinotifywatch .

假设你有这个/tmp/foo.bar 文件。您可以使用以下命令开始监视此文件的任何读取访问权限:

inotifywait --event access /tmp/foo.bar

然后,执行cat /tmp/foo.bar,程序将返回。

正如我所说,它是一个 C 库,我想还有其他语言实现。因此,请随意不要使用此 Bash 示例并使用此库编写自己的程序。

最新更新