gpt4 book ai didi

c - Linux 中的终止和信号问题

转载 作者:行者123 更新时间:2023-11-30 15:54:31 25 4
gpt4 key购买 nike

我们有一个库,它向所提到的 pid 发送 kill(pid, SIGUSR2) 信号,该信号在我们的例子中大部分时间都在运行。该进程有信号命令,该命令具有与该信号相关的信号处理。

我可以看到这个kill命令正在工作并且正在返回成功(0),但是相应的信号处理程序有时会被调用,有时则不会。

造成这种不一致的原因是什么?

最佳答案

我找到了这个问题的解决方案,基本上其他一些代码正在阻止 SIGUSR2信号所以我只是使用 sigprocmask(SIG_UNBLOCK, &set, NULL); 解锁它它起作用了。

它第一次发生的原因是它被阻塞的持续时间,基本上它们在解除阻塞之前阻塞了一段时间,并且这里的代码路径执行是这个进程第一次无法在这段时间内拾取信号。

关于c - Linux 中的终止和信号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12913617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com