美文网首页
信号处理小结

信号处理小结

作者: tianxinheihei | 来源:发表于2016-06-05 18:26 被阅读0次
  • 信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。信号可由硬件中断(按下组合键/除0/无效的存储访问)或软中断(进程调用kill或sigqueue发送信号)产生

    #include <csignal>
    #include <iostream>
    #include <unistd.h>
    #include <time.h>
    using namespace std;
    void signalUsr1Handler(int signum) {
    cout << "interrup signal: " << signum << " received." << endl;
    //exit(signum);
    }
    void signalKillHandler(int signum) {
    cout << "signal kill: " << signum << " received." << endl;
    }
    int main(int argc, char* argv[]) {
    signal(SIGUSR1, signalUsr1Handler);
    signal(SIGKILL, signalKillHandler);
    while(1) {
    const time_t now = time(NULL);
    cout << asctime(localtime(&now)) << "going to sleep..." << endl;
    sleep(3);
    }
    //cout << "going to pause..." << endl;
    //pause();
    //
    return 0;
    }

依次发送kill -SIGUSR1 24021和kill -SIGKILL 20241可得到


Paste_Image.png

上面的示例中,尽管注册了SIGKILL的处理函数,并不起作用,是因为SIGKILL和SIGSTOP这两个信号不能被忽略,同时这两个信号也不能被捕获和阻塞。
另外:pause:将进程挂起等待信号,直到信号到来,才会继续处理

相关文章

  • 信号处理小结

    信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。信号可由硬件中断...

  • 信号处理

    信号处理

  • 信号与信号处理

    两本书 近期连续阅读两本有关如何处理市场“信号”的书,一本是信号-社会契约与地缘政治如何影响世界经济,一本是宽客-...

  • 信号二

    信号的几种状态 抵达:表示一个信号到达,要处理的信号。阻塞:表示当信号到达时使信号阻塞,当解除阻塞时再处理信号,阻...

  • 学习笔记:信号处理

    信号处理是对各种类型的电信号,按照预期目的和要求进行加工过程的统称。对模拟信号的处理称为模拟信号处理,对数字信号的...

  • 信号控制 & expect

    一,信号说明 二,信号处理 捕捉信号并处理 三,hup信号 ---->如何让一个进程脱离当前窗口运行 四, exp...

  • 信号处理的本质思考

    什么是信号处理? 信号处理任务就是从接收端感知的信号中还原出发送端发送的信号,滤掉/抑制不需要的信号(噪声和干扰)...

  • 1-4节linux系统编程——进程通信信号和创建线程

    通信信号 信号:一种异步通信机制系统支持的信号都有默认的处理方式常用的信号及其处理:SIGINT | SIGQUI...

  • 信号处理(三)

    本篇介绍 本篇接续信号处理的介绍。 图像中的信号处理 信号处理在采样图像中使用的最为广泛。比如图像的模糊就是将图像...

  • linux信号透彻分析理解与各种实例讲解

    本文将从以下几个方面来阐述信号: (1)信号的基本知识 (2)信号生命周期与处理过程分析 (3) 基本的信号处理函...

网友评论

      本文标题:信号处理小结

      本文链接:https://www.haomeiwen.com/subject/rjnkdttx.html