APUE 信号学习笔记
2007-10-29 22:52
330 查看
#include <sys/types.h>
#incude <signal.h>
#include <unistd.h>
typedef void Sigfunc(int);
Sigfunc *signal(int, Sigfunc*);
int kill(jpid_t pid, int signo);
int raise(int signo);
unsigned int alarm(unsigned int seconds);//unistd.h
int pause();//unistd.h
每个进程都有一个信号屏蔽字,它规定了当前要阻塞递送到该进程的信号集。对于每种可能的信号,该屏蔽字都有一位与之对应。对于某种信号,若其对应位已设置,则它当前是阻塞的。进程可以调用sigprocmask来检测和更改其当前信号屏蔽字。信号数可能会超过一个整型数所包含的二进制位数,因此出现了数据类型sigset_t,它保持一个信号集。
kill函数将信号发送给进程或进程组。raise函数则允许进程向自身发送信号。
POSIX.1将信号编号0定义为空信号。如果signo参数是0,则kill仍执行正常的错误检查,但不发送信号。这常用来确定一个特定进程是否仍旧存在。如果想一个并不存在的进程发送空信号,则kill返回-1,errno则被设置为ESRCH。
使用alarm函数可以设置一个时间值。当设置的时间超过时,产生SIGALARM信号。如果不忽略或不捕捉此信号,则默认动作是终止该进程。每个进程只能有一个闹钟时间
pause是在信号处理函数处理完毕后才返回。
相关文章推荐
- APUE学习笔记:APUE运行环境
- Qt学习笔记-----信号槽
- 【神经网络学习笔记】语音识别-matlab语音信号预处理
- 《APUE》chapter 18 Terminal I/O 学习笔记(加上自己的代码)
- Linux系统信号学习笔记
- Unix学习之 APUE学习笔记 之 系统限制,errno,时间观念
- 信号处理学习笔记之自适应滤波器
- Python pyQt4/PyQt5 学习笔记4(事件和信号)
- [离散时间信号处理学习笔记] 13. 重采样
- 信号与系统学习笔记(大纲)
- PyQT信号槽_学习笔记 (Signals/Slots)
- 数字语音信号处理学习笔记——语音信号的短时时域分析(3)
- Eric6与pyqt5学习笔记 4 【信号,事件和打包exe】
- QtQuick学习笔记之QML自定义信号
- 学习笔记——进程通信IPC之信号量
- Linux信号机制学习笔记-----Linux信号机制的疑问?????
- Linux Kernel 学习笔记8:同步与互斥之信号量
- Simulink学习笔记3--Simulink信号操作
- APUE学习笔记:第七章 进程环境
- 数字信号处理(MATLAB版)学习笔记1--离散时间信号与系统