c 信号处理

Posted luckygxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 信号处理相关的知识,希望对你有一定的参考价值。

1. 使用signal(int signal, function)向内核注册信号处理函数

2. 使用raise()向本进程发送信号,通过kill()向其他进程发送信号

#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>

void signal_handle(int signal);

int main(int argc, char **argv) {
    signal(SIGUSR1, signal_handle);

    int cpid, ppid;
    if ((cpid = fork()) == 0) {
        ppid = getppid();
        cpid = getpid();
        printf("cid:%d, ppid:%d
", cpid, ppid);
        kill(ppid, SIGUSR1);
        printf("send signal to parent
");
    } else {
        int pid = wait(NULL);
        printf("pid after wait:%d
", pid);
    }
}

void signal_handle(int signal) {
    printf("receive signal:%d
", signal);
}

  

以上是关于c 信号处理的主要内容,如果未能解决你的问题,请参考以下文章

C语言代码片段

c_cpp Atlas300代码片段

c_cpp Robolution基本代码片段

[linux][c/c++]代码片段02

iphone / Objective c的最佳代码片段网站是啥[重复]

推进学说代码片段