码迷,mamicode.com
首页 > 其他好文 > 详细

c 信号处理

时间:2020-02-13 13:19:10      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:ppi   通过   fun   lse   cpi   send   clu   信号   tpi   

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\n", cpid, ppid);
        kill(ppid, SIGUSR1);
        printf("send signal to parent\n");
    } else {
        int pid = wait(NULL);
        printf("pid after wait:%d\n", pid);
    }
}

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

  

c 信号处理

标签:ppi   通过   fun   lse   cpi   send   clu   信号   tpi   

原文地址:https://www.cnblogs.com/luckygxf/p/12302958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!