可以用函数 signal 注册一个信号处理函数,原型为:

 #include <signal.h>typedef void(*sighandler_t)(int);  //函数指针 void (*)(int a)sighandler_t signal(int signum, sighandler_t handler);

  signal 的第 1 个参数 signum 表示要捕捉处理的信号,第 2 个参数是个函数指针,表示对该信号进行捕捉处理的函数,该参数也可以是 SIG_DFL(表示交由系统默认处理,相当于白注册了)或 SIG_IGN(表示忽略掉该信号而不做任何处理)。signal 如果调用成功,返回该信号处理函数的地址,否则返回 SIG_ERR。
  sighandler_t 类型的形参(函数指针)指向一个信号处理函数,由 signal 函数注册,注册以后,在整个进程运行过程中均有效,并且对不同的信号可以注册同一个信号处理函数。该函数只有一个整型参数,表示信号值。

嵌入式Linux系统编程学习之十四signal信号处理机制相关推荐

  1. 嵌入式Linux系统编程学习之十五sigaction信号处理机制

    文章目录 一.信号处理情况分析 二.sigaction 信号处理注册 三.sigprocmask 信号阻塞 一.信号处理情况分析   在 signal 处理机制下,还有许多特殊情况需要考虑: 注册一个 ...

  2. 嵌入式Linux系统编程学习之三十四 Socket 编程

    文章目录 一.使用 TCP 的流程图 1.1 头文件包含 1.2 socket 函数 1.3 bind 函数 1.4 listen 函数 1.5 accept 函数 1.6 recv 函数 1.7 s ...

  3. 嵌入式Linux系统编程学习之十二守护进程

    文章目录 前言 一.守护进程的特性 二.daemon 进程的编程规则 1.创建子进程,父进程退出 2.在子进程中创建新会话 前言   daemon 运行在后台,也称作"后台服务进程" ...

  4. 嵌入式Linux系统编程学习之十八进程间通信(IPC)简介

      Linux 下的进程通信手段基本上是从 UNIX 平台上的进程通信手段继承而来的.而对 UNIX 发展做出过重大贡献的两大主力 -- AT&T 的贝尔实验室和 BSD (加州大学伯克利分校 ...

  5. 嵌入式Linux系统编程学习之三十线程的同步

    文章目录 一.条件变量 1.创建和注销 2.等待和激发 3.其他 二.信号灯 1.创建和注销 2.点灯和灭灯 3.获取灯值 4.其他 一.条件变量   条件变量是利用线程间共享的全局变量进行同步的一种 ...

  6. 嵌入式Linux系统编程学习之十九标准管道流

      像文件操作有标准 IO 流一样,管道也支持文件流模式.用来创建连接到另一进程的管道 popen 和 pclose .   函数原型: #include <stdio.h>FILE * ...

  7. 嵌入式Linux系统编程学习之十六用程序发送信号

    文章目录 一.kill 和 raise 信号发送函数 二.sigqueue 信号发送函数 一.kill 和 raise 信号发送函数   kill 和 raise 信号的发送函数的原型分别为: #in ...

  8. 嵌入式Linux系统编程学习之二常用命令

    嵌入式Linux系统编程学习之二常用命令 文章目录 嵌入式Linux系统编程学习之二常用命令 前言 一.常用命令 1.su(用户切换) 2.useradd(添加用户) 3.passwd(修改密码) 4 ...

  9. 嵌入式Linux系统编程学习之一目录结构

    嵌入式Linux系统编程学习之一目录结构 文章目录 嵌入式Linux系统编程学习之一目录结构 前言 一.Linux目录结构 前言 Linux目录结构 一.Linux目录结构 /bin:存放Linux的 ...

最新文章

  1. Python 查看本机WiFi密码
  2. Delphi下使用指针的简单总结
  3. app服务器一种什么样的服务器
  4. Java计算多线程运行时间的简单方式
  5. linux下安装python(安装python 3.6稳定版成功亲测)
  6. linux 卸载kde,Ubuntu KDE终端系统安装与卸载
  7. linux修改文件夹及其下面所有文件的权限(文件夹权限)
  8. 利用pandas,matplotlib画饼图
  9. ppk on javascript 笔记(六)--BOM
  10. homestead 安装mysql8_homestead安装php redis扩展
  11. ajax post提交数据_JavaEE学习——为什么get请求方式比post请求方式效率高
  12. mysql 删除重复数据,需要给子查询的表,起一个别名
  13. 【hibernate】idea利用maven搭建hibernate环境(创建hibernate配置文件(包括cfg和hbm))
  14. 390计算机毕业设计
  15. 手机android系统锁了怎么解,安卓手机解锁图案忘了怎么办?手机解锁密码忘了的解决办法...
  16. netty服务器怎么推送消息,我来学Netty之推送消息给客户端
  17. 详解win10系统还原点怎么设置
  18. autocad application 版本
  19. 小精灵家庭理财 v3.01 是什么
  20. 酷键盘 Midi Keyboard for Mac - MIDI钢琴键盘模拟器

热门文章

  1. FATE框架安装后测试报错:ModuleNotFoundError: No module named ‘arch‘
  2. php中join用法,PHP join()函数用法与实例讲解
  3. php iis session 超时设置,如何配置IIS Session超时时间
  4. aotuwried是java的注解吗_@autowire注入为null
  5. 耦合式是什么意思_定向耦合器是如何工作的?能怎样应用?看完就全明白了
  6. 如何让.Net控件在设计时InitializeComponent()中不生成相关代码
  7. oracle9i的erp数据库无法正常关闭的解决方法。
  8. css首行缩进2个字符
  9. hdu 6149 Valley Numer II(01背包套状压dp)
  10. 编程习题——Maximum Subarray