我创造了信号。其中一个打印“1”20次。另一个打印“2”20次。我希望这些信号依次打印他们的数字:1,2,1,2 ...但程序只打印“1”。有人可以帮助我吗?
答案 0 :(得分:2)
运行此代码,看看何时将SIGUSR1或SIGUSR2发送到打印的pid。
#include <stdio.h>
#include <signal.h>
void handler1(int signal)
{
printf("Foo\n");
}
void handler2(int signal)
{
printf("Bar\n");
}
int main()
{
printf("PID: %d\n", getpid());
sigset(SIGUSR1,handler1);
sigset(SIGUSR2,handler2);
while (1);
return(0);
}