zoukankan      html  css  js  c++  java
  • sigaction函数学习

    sigaction(查询或设置信号处理方式)
    相关函数 signal,sigprocmask() ,sigpending,sigsuspend, sigemptyset
    表头文件 #include<signal.h>
    定义函数 int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact);
    函数说明 sigaction()会依参数signum指定的信号编号来设置该信号的处理函数。参数signum可以指定SIGKILL和SIGSTOP以外的所有信号。
    如参数结构sigaction定义如下
    struct sigaction {
    void (*sa_handler)(int);
    void (*sa_sigaction)(int, siginfo_t *, void *);
    sigset_t sa_mask;
    int sa_flags;
    void (*sa_restorer)(void);
    }


    1. #include <signal.h>
    2. #include <unistd.h>
    3. #include <stdio.h>

    4. static void int_hander(int s)
    5. {
    6.     printf("Catch a signal sigint ");
    7. }

    8. int main(void)
    9. {
    10.     int i;
    11.     struct sigaction act,oact;

    12.     act.sa_handler = int_hander;
    13.     sigemptyset(&act.sa_mask); //清空此信号集
    14.     act.sa_flags = 0;
    15.     sigaction(SIGINT, &act, &oact);

    16.     while(1)
    17.     {
    18.         for(i=0;i<5;i++)
    19.         {
    20.             write(1,".",1);
    21.             sleep(1);
    22.         }
    23.         write(1, " ", 1);
    24.     }

    25.     sigaction(SIGINT, &oact, NULL); //恢复成原始状态

    26.     return 0;
    27. }

    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    前端工程化
    前端模块化CommonJS&ES6
    为什么浮点型运算结果会有误差?
    RequestAnimationFrame知多少?
    CSS三栏布局
    秋招面试
    实现Storage
    Angular
    TypeScript
    微服务架构设计模式
  • 原文地址:https://www.cnblogs.com/ch122633/p/7363246.html
Copyright © 2011-2022 走看看