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

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

April 14, 1996 Linux 1.3.88