gpt4 book ai didi

c - 在 Linux 中重新传播捕获的信号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:30 27 4
gpt4 key购买 nike

我正在尝试将 sigwait() 用于 SIGSEGV 和其他信号,然后执行某些操作(比如将时间戳写入文件)。然后,我希望程序表现得好像从未捕获到信号一样(例如,当 SIGSEGV 发生时生成一个核心转储——假设系统配置为核心转储)。

我通读了几个联机帮助页,但没有看到明显的方法。

有什么建议吗?

提前致谢!

最佳答案

您可以注册一个不会导致程序崩溃的信号处理程序。收到信号后,您将进入信号处理程序,并在执行信号处理程序(您说的写入文件)后,您将重新进入您中断的程序。

如果您想要一个核心转储,您可以使用 linux core(5) 命令,它会在您的信号处理程序中创建一个核心转储,而不会结束您的进程。

http://www.alexonlinux.com/signal-handling-in-linux#signal_masks

关于c - 在 Linux 中重新传播捕获的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543970/

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