如何发送信号?

时间:2015-10-19 11:52:48

标签: c

我创造了信号。其中一个打印“1”20次。另一个打印“2”20次。我希望这些信号依次打印他们的数字:1,2,1,2 ...但程序只打印“1”。有人可以帮助我吗?

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);
}