UNIX环境高级编程之第10章:信号
来源:互联网 发布:火石软件 编辑:程序博客网 时间:2024/05/29 11:33
10.1 引言
信号是软件中断.很多比较重要的应用程序都需要处理信号.信号提供一种处理异步时间的方法,例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早终止管道中的下一个程序.
10.2 信号概念
首先每个信号都有一个名字.这些名字都是以SIG开头.例如,SIGABRT是夭折信号,当进程调用abort函数是产生这种信号.
10.3 函数signal
UNIX系统信号机制最简单的接口是signal函数
#include <signal.h>void (*signal(int signo, void (*func)(int)))(int);
signo参数是一下图中的信号名.func的值是常量SIG_IGN,常量SIG_DFL或者当接到此信号后要调用的函数的地址.SIG_IGN向内核表示忽略此信号(SIGKILL和SIGSTOP不能忽略).SIG_DFL标示接到信号后的动作是系统默认动作
程序启动
当执行一个程序时,所有信号的状态都是系统默认或者忽略
进程创建
当一个进程调用fork时,其子进程集成父进程的信号处理方式
10.4 不可靠的信号
不可靠再这里指:信号可能会丢失,一个信号发生了,但进程却可能一直不知道这一点
10.5 中断的系统调用
10.6 可重入函数
进程捕捉到信号并对其进行处理时, 进程正在执行的正常指令序列就被信号处理程序临时中断,它首先执行该信号处理程序中的指令.
10.7 SIGCLD语义
10.8 可靠信号术语和语义
10.9 函数kill和raise
kill 函数将信号发送给进程或进程组,raise函数则允许进程相自身发送信号
#include<signal.h>int kill (pid_t pid, int signo);int raise (int signo);
0 0
- UNIX环境高级编程之第10章:信号
- UNIX环境高级编程(第10章 信号)
- UNIX环境高级编程-第10章- 信号 - 一
- UNIX环境高级编程-第10章- 信号 - 二
- 《UNIX环境高级编程》第10章 信号
- UNIX信号(signal)编程 - UNIX高级环境编程第10章读书笔记
- UNIX信号(signal)编程 - UNIX高级环境编程第10章读书笔记
- UNIX信号(signal)编程 - UNIX高级环境编程第10章读书笔记
- UNIX环境高级编程之信号
- UNIX环境高级编程之-----信号signal
- UNIX环境高级编程之第1章:UNIX基础知识
- unix环境高级编程-10(信号)
- 《Unix高级环境编程》第十章 信号
- UNIX环境高级编程之第7章:进程环境
- Unix高级环境编程(信号)
- Unix环境高级编程---信号
- UNIX环境高级编程学习之第十章信号-用信号实现父子进程同步
- UNIX环境高级编程之第8章:进程控制
- #define和typedef
- 【springmvc+mybatis项目实战】杰信商贸-18.附件分类基础表+数据字典
- LeetCode|Binary Search Tree Iterator-java
- 默认参数使用技巧
- 深藏不漏的注释/**/ 和 //
- UNIX环境高级编程之第10章:信号
- StringHelper
- 函数回调例程
- Xcode 6 empty project
- 91 symfony2 day-1
- 基于加权最小二乘法的保边缘平滑滤波器(WLS)
- NOIP2008 火柴棒等式
- PCA主成分分析
- poj 1401 变形课 数论+二分