当前位置:嗨网首页>书籍在线阅读

03-信号标识符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.1.1 信号标识符

每个信号都有一个以SIG为前缀的符号名称。例如SIGINT是用户按下Ctrl-C时发出的信号,SIGABRT是进程调用abort()函数时产生的信号,而SIGKILL是进程被强制终止时产生的信号。

这些信号都是在头文件<signal.h>中定义的。信号被预处理程序简单定义为正整数,也就是说,每个信号都与一个整数标识符相关联。信号从名称到整数的映射是依赖于具体实现的,并且在不同的UNIX系统中也不同,但最开始的12个左右的信号通常是以同样的方式映射的(例如SIGKILL是信号9)。一个好的编程人员应该总是使用信号的可读的名称,而不要使用它的整数值。

信号的编号从1开始(通常是SIGHUP)线性增加。总共有大约31个信号,但是大多数的程序只用到了它们中的一少部分。没有任何信号的值为0,这是一个特殊的值称为空信号。空信号确实无关紧要,不值得为它起一个特别的名字,但是一些系统调用(例如kill())在特殊的情况下会使用0这个值。

你可以使用kill-l命令查看生成系统支持的信号列表。