gpt4 book ai didi

c - 如何安装信号处理程序以在收到 'SIGINT' 时调用函数

转载 作者:行者123 更新时间:2023-11-30 21:07:37 25 4
gpt4 key购买 nike

我应该安装一个信号处理程序,以便在收到 SIGINT 时调用函数 stopContinue()。这是我的 C 代码片段,但我不确定这是否正确。请让我知道我哪里出错了。

struct sigaction act;

memset(&act, '\0', sizeof(act));
action.sa_flags = 0;
action.sa_handler = stopContinue;
sigaction(SIGINT, &act, NULL);

这看起来大致正确吗?

有一个关于使用 sigaction 与 action 的讨论,以及这里标志的使用与另一个问题不同,这不是一个骗局。

最佳答案

如果您甚至不打算使用结构体的 sa_flags 成员,为什么要使用 sigaction 呢?要在按下 Ctrl+C 时调用 stopContinue,您可以使用:

signal(SIGINT, stopContinue);

如果您只是想忽略 Ctrl+C,您可以使其变得更加简单:

signal(SIGINT, SIG_IGN);

SIG_IGNmacro忽略信号。

关于c - 如何安装信号处理程序以在收到 'SIGINT' 时调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42772046/

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