• 信号捕捉


    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;
    }
  • 相关阅读:
    linux-log-files/
    SSL SSH
    C++学习的书籍
    Linux IO 分析
    LINUX 常用操作
    Find Large Files in Linux
    Linux 常见操作
    Linux Performance tool
    /linux-command-line-bash-shortcut-keys/
    Sed
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11333030.html
Copyright © 2020-2023  润新知