Linux支援的信号清單如下。很多信号是與機器的體系結構相關的
信号值 預設處理動作 發出信号的原因
SIGHUP 1 A 終端挂起或者控制程序終止
SIGINT 2 A 鍵盤中斷(如break鍵被按下)
SIGQUIT 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 背景程序企圖從控制終端寫
處理動作一項中的字母含義如下
A 預設的動作是終止程序
B 預設的動作是忽略此信号,将該信号丢棄,不做處理
C 預設的動作是終止程序并進行核心映像轉儲(dump core),核心映像轉儲是指将程序資料在記憶體的映像和程序在核心結構中的部分内容以一定格式轉儲到檔案系統,并且程序退出執行,這樣做的好處是為程式員 提供了友善,使得他們可以得到程序當時執行時的資料值,允許他們确定轉儲的原因,并且可以調試他們的程式。
D 預設的動作是停止程序,進入停止狀況以後還能重新進行下去,一般是在調試的過程中(例如ptrace系統調用)
E 信号不能被捕獲
F 信号不能被忽略
轉載于:https://blog.51cto.com/renchen/1195477