Linux支持的信号以及信号的行为说明

简介

Linux 支持的信号。某些信号依赖于体系结构(architecture)。

表格中的字符含义

符号说明
A缺省动作是结束进程
B缺省动作是忽略这个信号
C缺省动作是结束进程, 并且核心转储
D缺省动作是停止进程
E信号不能被捕获
F信号不能被忽略

注:这里“结束” 指进程终止并释放资源,“停止” 指进程停止运行,但是资源没有释放,有可能继续运行。

信号说明

1、POSIX.1 描述了下列信号

信号动作说明
SIGHUP 1A在控制终端上是挂起信号, 或者控制进程结束
SIGINT 2A从键盘输入的中断
SIGQUIT 3C从键盘输入的退出
SIGILL 4C无效硬件指令
SIGABRT 6C非正常终止,来自abort
SIGFPE 8C浮点运算例外
SIGKILL 9AEF杀死进程信号
SIGSEGV11C无效的内存引用
SIGPIPE13A管道中止:写入无人读取的管道
SIGALRM14A来自 alarm 的超时信号
SIGTERM15A终止信号
SIGUSR130,10,16A用户定义的信号 1
SIGUSR231,12,17A用户定义的信号 2
SIGCHLD20,17,18B子进程结束或停止
SIGCONT19,18,25继续停止的进程
SIGSTOP17,19,23DEF停止进程
SIGTSTP18,20,24D终端上发出的停止信号
SIGTTIN21,21,26D后台进程试图从控制终端(tty)输入
SIGTTOU22,22,27D后台进程试图在控制终端(tty)输出

2、 下面的信号定义在 SUSv2 中,而 POSIX.1 没有定义

信号动作说明
SIGBUS10,7,10C总线错误 (不正确的内存访问)
SIGPOLLAI/O就绪事件 (Sys V). 等同于SIGIO
SIGPROF27,27,29A系统资源定时器(Profiling timer)超时
SIGSYS12,-,12C用错误参数调用系统例程 (SVID)
SIGTRAP5C跟踪/断点自陷
SIGURG16,23,21B套接口上出现 urgent 情况 (4.2 BSD)
SIGVTALRM26,28A虚拟超时时钟 (4.2 BSD)
SIGXCPU24,30C超过了CPU时间限制 (4.2 BSD)
SIGXFSZ25,25,31C超过了文件大小限制 (4.2 BSD)

注:这里的 SIGSYS,SIGXCPU,SIGXFSZ,以及某些系统上的 SIGBUS,Linux 的缺省动作(到2.3.27版)是 A(结束),而 SUSv2 声明是 C(结束且核心转储)

3、其他信号

信号动作说明
SIGIOT6CIOT 自陷. 等同于 SIGABRT
SIGEMT7,-,7
SIGSTKFLT-,16,-A协处理器堆栈错误
SIGIO23,29,22AI/O 有效信号 (4.2 BSD)
SIGCLD-,-,18等同于 SIGCHLD
SIGPWR29,30,19A电源无效 (System V)
SIGINFO29,-,-等同于 SIGPWR
SIGLOST-,-,-A文件锁丢失
SIGWINCH28,28,20B窗口大小调整信号 (4.3 BSD, Sun)
SIGUNUSED-,31,-A未使用的信号 (将成为 SIGSYS)

 注:- 指信号不存在;可能给出三个值,第一个值一般用于 alpha 和 sparc,中间的值用于 i386,ppc 和 sh,最后一个是 mips 的。信号 29 在 alpha 机上是 SIGINFO/SIGPWR,而在 sparc 机上是 SIGLOST。SIGIO 和 SIGLOST 有相同的值。后者在内核源码中被注释掉了,但是某些软件构造的进程仍然认为信号29是 SIGLOST。

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoveZou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值