信號 值 處理動作 發出信號的原因 ---------------------------------------------------------------------- SIGHUP 1 A 終端掛起或者控制進程終止 SIGINT 2 A 鍵盤中斷(如break鍵被按下) SIGQU99v 3 C 鍵盤的退出鍵被按下 SIGILL 4 C 非法指令 SIGABRT 6 C 由abort(3)發出的退出指令 SIGFPE 8 C 浮點異常 SIGKILL 9 AEF Kill信號 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 控制終端(tty)上按下停止鍵 SIGTTIN 21,21,26 D 后臺進程企圖從控制終端讀 SIGTTOU 22,22,27 D 后臺進程企圖從控制終端寫
下面的信號沒在POSIX.1中列出,而在SUSv2列出
信號 值 處理動作 發出信號的原因 -------------------------------------------------------------------- SIGBUS 10,7,10 C 總線錯誤(錯誤的內存訪問) SIGPOLL A Sys V定義的Pollable事件,與SIGIO同義 SIGPROF 27,27,29 A Profiling定時器到 SIGSYS 12,-,12 C 無效的系統調用 (SVID) SIGTRAP 5 C 跟蹤/斷點捕捉 SIGURG 16,23,21 B Socket出現緊急條件(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缺省的動作是A (terminate),SUSv2 是C (terminate and dump core))。
下面是其它的一些信號
信號 值 處理動作 發出信號的原因 ---------------------------------------------------------------------- SIGIOT 6 C IO捕捉指令,與SIGABRT同義 SIGEMT 7,-,7 SIGSTKFLT -,16,- A 協處理器堆棧錯誤 SIGIO 23,29,22 A 某I/O操作現在可以進行了(4.2 BSD) SIGCLD -,-,18 A 與SIGCHLD同義 SIGPWR 29,30,19 A 電源故障(System V) SIGINFO 29,-,- A 與SIGPWR同義 SIGLOST -,-,- A 文件鎖丟失 SIGWINCH 28,28,20 B 窗口大小改變(4.3 BSD, Sun) SIGUNUSED -,31,- A 未使用的信號(will be SIGSYS)