zoukankan      html  css  js  c++  java
  • 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);
    }
    

      

  • 相关阅读:
    Linux内核info leak漏洞
    ELK Stack部署
    centos下安装opencv
    windows10 进入BIOS
    Dockerfile语法简介
    JAVA 容器配置 JVM 监控
    docker registry
    squid
    正反向代理
    安装plsql
  • 原文地址:https://www.cnblogs.com/luckygxf/p/12302958.html
Copyright © 2011-2022 走看看