linux signal IPC进程间通信

来源:互联网 发布:淘宝88会员 8.8折 编辑:程序博客网 时间:2024/05/21 11:00

1.PROCESS1的结构

void sig_handler(int signalNo)
{
    switch (signalNo) {
    case SIGTERM:
        exit(0);
    break;
    case SIGUSR1:
    {
        fprintf(stderr, "get signal SIGUSR1\n");
    }
        break;
     case SIGUSR2:
    {
         fprintf(stderr, "DaemonProcess receives SIGUSR2 ...................!\n");
         fflush(stderr);
    }
        break;
    default:
        break;
    }
    return;
}

main()

{

        signal(SIGTERM, sig_handler);
        signal(SIGUSR1, sig_handler);//SIGUSR1==10
        signal(SIGUSR2, sig_handler);//SIGUSR2==12

         wait(0);

}

2.在终端里

$killall -s 10 PROCESS1

就可以发信号了。(注:kill相当于send信号)

3.PROCESS2

调用:

 kill( PROCESS1_pid,SIGUSR1);

也可以。

原创粉丝点击