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)"欄 的 字母 有 下列 含義:

A   預設動作是結束程序.

B   預設動作是忽略這個訊號.

C   預設動作是結束程序, 並且核心轉儲.

D   預設動作是停止程序.

E   訊號不能被捕獲.

F   訊號不能被忽略.

(譯註: 這裡 "結束" 指 程序 終止 並 釋放資源, "停止" 指 程序 停止 執行, 但是 資源 沒有 釋放, 有可能 繼續 執行.)

遵循 (CONFORMING TO)
POSIX.1

BUGS
SIGIO 和 SIGLOST 有 相同的 值. 後者 在 核心 原始碼 中 被註釋 掉了, 但是 某些 軟體 構造的 程序 仍然 認為 訊號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