zoukankan      html  css  js  c++  java
  • Linux信号

    读书笔记

    信号是由用户/系统或进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。

    Linux信号可由如下条件产生:

    1).对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个中断信号。

    2).系统异常。比如浮点异常和非法内存段访问。

    3).系统状态变化。比如alarm定时器到期将引起SIGALARM信号。

    4).运行kill命令或者调用kill函数。

    信号是一种异步事件:信号处理函数和程序的主循环是两条不同的执行路线。

    信号处理函数需要尽可能快地执行完毕,以确保该信号不被屏蔽(为了避免一些竞态条件,信号在处理期间,系统不会再次触发它)太久。

    典型的方案:信号的主要处理逻辑放在主循环中,当信号处理函数被触发时,它一般通过管道将信号传递给主循环,然后自身退出。主循环使用I/O复用系统调用来监听管道的读端文件描述符上的可读事件。

    《Linux高性能服务器编程》

  • 相关阅读:
    CentOS安装系统时硬盘分区建议
    Linux下的gpt分区
    如何解决Win10账户没有了管理员权限
    redis数据的清空以及回滚
    禅道的作用以及安装
    Java数组的内存图
    Java中的内存划分
    进制
    Java数组
    Java方法的重载(Overload)
  • 原文地址:https://www.cnblogs.com/bugchecker/p/basic_signal_concept_of_linux.html
Copyright © 2011-2022 走看看