SIGNAL(7) | Linux Programmer's Manual | SIGNAL(7) |
signal - 有效信号的清单
下面 列出 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)"栏 的 字母 有 下列 含义:
(译注: 这里 "结束" 指 进程 终止 并 释放资源, "停止" 指 进程 停止 运行, 但是 资源 没有 释放, 有可能 继续 运行.)
POSIX.1
SIGIO 和 SIGLOST 有 相同的 值. 后者 在 内核 源码 中 被注释 掉了, 但是 某些 软件 构造的 进程 仍然 认为 信号29 是 SIGLOST.
徐明 <xuming@iname.com>
2000/10/15 第一版
2001/11/24 第一次修订
http://cmpp.linuxforum.net
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
April 14, 1996 | Linux 1.3.88 |