gpt4 book ai didi

c - 用户定义的信号方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:05 25 4
gpt4 key购买 nike

我一直在关注 APUE 教科书,他们在其中给出了打印用户定义信号的示例。

static void sig_usr(int);
/* one handler for both signals */
int
main(void)
{
if (signal(SIGUSR1, sig_usr) == SIG_ERR)
err_sys("can’t catch SIGUSR1");
if (signal(SIGUSR2, sig_usr) == SIG_ERR)
err_sys("can’t catch SIGUSR2");
for ( ; ; )
pause();
}
static void
sig_usr(int signo)
/* argument is signal number */
{
if (signo == SIGUSR1)
printf("received SIGUSR1\n");
else if (signo == SIGUSR2)
printf("received SIGUSR2\n");
else
err_dump("received signal %d\n", signo);
}

有人能解释一下 SIGUSR1 和 SIGUSR2 是如何定义的吗?我知道该函数只是等待捕获适当的信号,然后再监听其他信号,但我不明白它如何知道哪个信号代码是 SIGUSR1 和 SIGUSR2。

最佳答案

它们在头文件 signal.h 中定义。您可以使用 kill 命令以编程方式发送它们。

关于c - 用户定义的信号方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554165/

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