zoukankan      html  css  js  c++  java
  • 信号捕捉

    signal函数

    注册一个信号捕捉函数:

    typedef void (*sighandler_t)(int);

    sighandler_t signal(int signum, sighandler_t handler);

           该函数由ANSI定义,由于历史原因在不同版本的Unix和不同版本的Linux中可能有不同的行为。因此应该尽量避免使用它,取而代之使用sigaction函数。

        void (*signal(int signum, void (*sighandler_t)(int))) (int);

    注意多在复杂结构中使用typedef。

    /***
    catch¬¬_signal.c
    ***/
    #include<stdio.h>
    #include<sys/time.h>
    #include<signal.h>
    
    void myfun(int signo)
    {
        printf("hello world
    ");
    }
    int main()
    {
        struct itimerval it,oldit;
        signal(SIGALRM,myfun);
    
        it.it_value.tv_sec = 5;
        it.it_value.tv_usec = 0;
    
        it.it_interval.tv_sec = 3;
        it.it_interval.tv_usec = 0;
    
        if(setitimer(ITIMER_REAL,&it,&oldit) == -1)
        {
            perror("setitimer error");
            return -1;
        }
        while(1);
        return 0;
    }
  • 相关阅读:
    洛谷P3513 [POI2011]KON-Conspiracy
    柱状图 三分法+树状数组
    CF习题集三
    CF习题集二
    CF习题集一
    单调队列总结
    SP688 SAM
    lemon使用方法
    洛谷 P2403 [SDOI2010]所驼门王的宝藏 题解
    字符串学习笔记二
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11333030.html
Copyright © 2011-2022 走看看