您的位置:首页 > 运维架构 > Linux

linux signal IPC进程间通信

2013-01-31 13:24 232 查看
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);

也可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息