Scroll to navigation

SIGNAL(7) Linux Programmer's Manual SIGNAL(7)

NAME

signal - 有效信号的清单

描述 (DESCRIPTION)

下面 列出 Linux 支持的 信号. 某些 信号 依赖于 体系结构(architecture).

首先, POSIX.1 描述了 下列 信号.

信号 动作 说明
SIGHUP  1 A 在控制终端上是挂起信号, 或者控制进程结束
SIGINT  2 A 从键盘输入的中断
SIGQUIT  3 C 从键盘输入的退出
SIGILL  4 C 无效硬件指令
SIGABRT  6 C 非正常终止, 可能来自 abort(3)
SIGFPE  8 C 浮点运算例外
SIGKILL  9 AEF 杀死进程信号
SIGSEGV 11 C 无效的内存引用
SIGPIPE 13 A 管道中止: 写入无人读取的管道
SIGALRM 14 A 来自 alarm(2) 的超时信号
SIGTERM 15 A 终止信号
SIGUSR1 30,10,16 A 用户定义的信号 1
SIGUSR2 31,12,17 A 用户定义的信号 2
SIGCHLD 20,17,18 B 子进程结束或停止
SIGCONT 19,18,25 继续停止的进程
SIGSTOP 17,19,23 DEF 停止进程
SIGTSTP 18,20,24 D 终端上发出的停止信号
SIGTTIN 21,21,26 D 后台进程试图从控制终端(tty)输入
SIGTTOU 22,22,27 D 后台进程试图在控制终端(tty)输出

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

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

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

下面 是 其他 几个 信号.

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

这里的 - 指 信号 不存在; 可能 给出 三个值, 第一个值 一般 用于 alpha 和 sparc, 中间的值 用于 i386, ppc 和 sh, 最后一个 是 mips 的. 信号29 在 alpha机上 是 SIGINFO / SIGPWR , 而在 sparc机上 是 SIGLOST

"动作(Action)"栏 的 字母 有 下列 含义:

缺省动作是结束进程.
缺省动作是忽略这个信号.
缺省动作是结束进程, 并且核心转储.
缺省动作是停止进程.
信号不能被捕获.
信号不能被忽略.

(译注: 这里 "结束" 指 进程 终止 并 释放资源, "停止" 指 进程 停止 运行, 但是 资源 没有 释放, 有可能 继续 运行.)

遵循 (CONFORMING TO)

POSIX.1

BUGS

SIGIOSIGLOST 有 相同的 值. 后者 在 内核 源码 中 被注释 掉了, 但是 某些 软件 构造的 进程 仍然 认为 信号29 是 SIGLOST.

另见 (SEE ALSO)

kill(1), kill(2), setitimer(2)

[中文版维护人]

徐明 <xuming@iname.com>

[中文版最新更新]

2000/10/15 第一版
2001/11/24 第一次修订

《中国linux论坛man手册页翻译计划》:

http://cmpp.linuxforum.net

April 14, 1996 Linux 1.3.88