我开始熟悉 C 中的信号。我无法弄清楚 SIGUSR1
和 SIGUSR2
是哪种信号,以及如何触发它们。任何人都可以向我解释一下吗?
最佳答案
它们是用户定义的信号,因此它们不会由任何特定操作触发。您可以以编程方式显式发送它们:
#include <signal.h>
kill(pid, SIGUSR1);
其中
pid
是接收进程的进程 ID。在接收端,您可以为它们注册一个信号处理程序:#include <signal.h>
void my_handler(int signum)
{
if (signum == SIGUSR1)
{
printf("Received SIGUSR1!\n");
}
}
signal(SIGUSR1, my_handler);
关于c - 如何触发 SIGUSR1 和 SIGUSR2?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6168636/