前言:这一章我们讨论一下Linux下的信号处理函数。

Linux下的信号处理函数:

信号的产生

信号的处理

其它信号函数

一个实例

1.信号的产生

Linux下的信号可以类比于DOS下的INT或者是Windows下的事件。在有一个信号发生时候相信的信号就会发送给相应的进程。在Linux下的信号有以下几个。 我们使用 kill -l 命令可以得到以下的输出结果:

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2

13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD

18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN

22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO

30) SIGPWR

关于这些信号的详细解释请查看man 7 signal的输出结果。 信号事件的发生有两个来源:一个是硬件的原因(比如我们按下了键盘),一个是软件的原因(比如我们使用系统函数或者是命令发出信号)。 最常用的四个发出信号的系统函数是kill, raise, alarm和setitimer函数。 setitimer函数我们在计时器的使用 那一章再学习。

#include

#include

#include

int kill(pid_t pid,int sig);

int raise(int sig);

unisigned int alarm(unsigned int seconds);

kill系统调用负责向进程发送信号sig。

如果pid是正数,那么向信号sig被发送到进程pid。

如果pid等于0,那么信号sig被发送到所以和pid进程在同一个进程组的进程

如果pid等于-1,那么信号发给所有的进程表中的进程,除了最大的哪个进程号。

如果pid由于-1,和0一样,只是发送进程组是-pid。

我们用最多的是第一个情况。还记得我们在守护进程那一节的例子吗?我们那个时候用这个函数杀死了父进程守护进程的创建

raise系统调用向自己发送一个sig信号。我们可以用上面那个函数来实现这个功能的。

alarm函数和时间有点关系了,这个函数可以在seconds秒后向自己发送一个SIGALRM信号。 下面这个函数会有什么结果呢?

#includ

linux 信号处理实验,linux下信号处理相关推荐

  1. matlab数字信号处理实验报告,数字信号处理实验报告一 离散信号及其MATLAB实验...

    数字信号处理 离散信号及其MATLAB实验 南昌航空大学实验报告 2012 年 04 月 06 日 课程名称: 数字信号处理 实验名称: 离散信号及其MATLAB实现 班级: 090423班 学号: ...

  2. linux添加三个用户lab1,linux操作系统实验linux下用户与组的管理

    姓名学号班级 实验三Linux下用户与组的管理 一.实验目的 1.理解/etc/passwd和/etc/group文件的含义: 2.掌握桌面环境下管理用户与组群的方法: 3.掌握利用shell命令管理 ...

  3. 编辑Linux系统实验,linux操作系统实验vi编辑器的使用

    姓名: 学号 班级: 实验二 vi编辑器的使用 一.实验目的 1. 掌握Linux系统的vi编辑器 2. 掌握Linux系统的文本编辑 二.实验环境 1. Linux软件和计算机 三.实验内容或步骤 ...

  4. linux内核模块实验,linux内核模块实验(2学时)

    第一个内核模块实验 一:预习要求: (1 )做本实验之前,请复习相关内核模块知识. (2 )请了解内核模块的编写.编译及安装与卸载方法. (3 )请学习内核打印函数printk() 的用法. (4 ) ...

  5. linux内核模块实验,linux内核模块实验(2学时).doc

    第一个内核模块实验 一: 预习要求: ( 1 ) 做本实验之前,请复习相关内核模块知识. ( 2 ) 请了解内核模块的编写.编译及安装与卸载方法. ( 3 ) 请学习内核打印函数 printk() 的 ...

  6. linux综合性实验,Linux综合实验模板(4页)-原创力文档

    华北科技学院计算机系综合性实验报告 PAGE 第 PAGE 2 页 华北科技学院计算机系综合性实验 实 验 报 告 课程名称 实验学期 至 学年 第 1 学期 学生所在系部 年级 专业班级 学生姓名 ...

  7. linux邮件实验,linux邮件服务器实验报告

    <linux邮件服务器实验报告>由会员分享,可在线阅读,更多相关<linux邮件服务器实验报告(11页珍藏版)>请在人人文库网上搜索. 1.实 验 报 告专业: 计算机科学与技 ...

  8. linux系统故障实验,Linux常见系统故障排除

    导读: 前言 运维人员经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要 ...

  9. matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...

    西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...

最新文章

  1. 2018-3-23论文一种新的群智能算法--狼群算法(框架结构+感想一点点)
  2. linux php mysql安装完整版本_Linux下安装PHP+MySQL+Apache完整版
  3. Java6程序设计基础教程_【Java】《Java程序设计基础教程》第三章学习
  4. ubuntu pip更新_Cubietruck开发板折腾002:安装Python管理工具pip
  5. 远程连接oracle无监听
  6. (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个
  7. python38使用_笨方法学Python 习题38:列表的操作
  8. Hibernate之组件映射
  9. angular2-swiper的使用
  10. javascript服务端编程
  11. Java常用设计模式
  12. Java中获取时间戳
  13. python矩阵相乘函数_Python实现的矩阵转置与矩阵相乘运算示例
  14. 基于R语言进行K折交叉验证
  15. 达梦数据库巡检脚本--生成html格式的报告
  16. CCF A类会议或期刊----近两年对比学习相关论文
  17. 2020软考成绩查询时间公布
  18. VBS:基本输出函数
  19. excel项目计划_使用Excel计划您的聚会座位
  20. 【团队介绍】小逗比们的介绍篇

热门文章

  1. LTE轻松进阶之帧结构
  2. android编译全过程
  3. 【PC工具】一个好用的评分很高的文件管理器Files
  4. 【OFDM频域同步】基于OFDM数字电视地面广播系统中频域同步技术matlab仿真
  5. C1之路 | 训练任务03-WEB
  6. 【leetcode】1051. Height Checker
  7. ios 原生骨架动画库
  8. 面向B端市场,Mana VR团队将推出VR交互产品
  9. 【个人笔记】《知了堂》MySQL中的数据类型
  10. 比世界纪录快3倍 阿里云377秒完成100TB数据排序