載自:http://blog.sina.com.cn/s/blog_864017a701018vtb.html
Linux下查看支持的信號列表
信號簡要說明
信號詳細說明
SIGHUP (1) 本信號在用戶終端連接(正常或非正常)結束時發出,通常是在終端的控制進程結束時,通知同一session內的各個作業,這時它們與控制終端不再關聯。
SIGINT (2) 程序終止(interrupt)信號,在用戶鍵入INTR字符(通常是Ctrl + C)時發出。
SIGQUIT (3) 和SIGINT類似,但由QUIT字符(通常是Ctrl + \)來控制。進程在因收到 SIGQUIT退出時會產生core文件,在這個意義上類似於一個程序錯誤信號。
SIGILL (4) 執行了非法指令。通常是因爲可執行文件本身出現錯誤,或者試圖執行數據段的堆棧溢出時也有可能產生這個信號。
SIGTRAP (5) 由斷點指令或其它trap指令產生,由debugger使用。
SIGABRT (6) 程序自己發現錯誤並調用abort時產生。
SIGIOT (6) 在PDP-11上由iot指令產生,在其它機器上和SIGABRT一樣。
SIGBUS (7) 非法地址,包括內存地址對齊(alignment)出錯。舉例:訪問一個四個字長的整數,但其地址不是4的倍數。
SIGFPE (8) 在發生致命的算術運算錯誤時發出。不僅包括浮點運算錯誤,還包括溢出及除數爲0等其它所有的算術的錯誤。
SIGKILL (9) 用來立即結束程序的運行。本信號不能被阻塞、處理和忽略。
SIGUSR1 (10) 留給用戶使用。
SIGSEGV (11) 段錯誤,試圖訪問未分配給自己的內存,或試圖往沒有寫權限的內存地址寫數據。
SIGUSR2 (12) 留給用戶使用。
SIGPIPE (13) Broken pipe。
SIGALRM (14) 時鐘定時信號,計算的是實際的時間或時鐘時間。alarm函數使用該信號。
SIGTERM (15) 程序結束(terminate)信號。與SIGKILL不同的是該信號可以被阻塞和處理。通常用來要求程序自己正常(優雅地)退出。shell命令kill缺省產生這個信號。
SIGCHLD (17) 子進程結束時,父進程會收到這個信號。
SIGCONT (18) 讓一個停止(stopped)的進程繼續執行。本信號不能被阻塞。可以用一個handler來讓程序在由stopped狀態變爲繼續執行時完成特定的工作。例如:重新顯示提示符。
SIGSTOP (19) 停止(stopped)進程的執行。注意它和terminate以及interrupt的區別:該進程還未結束,只是暫停執行。本信號不能被阻塞、處理或忽略。
SIGTSTP (20) 停止進程的運行,但該信號可以被處理和忽略。用戶鍵入SUSP字符時 (通常是Ctrl + Z)發出這個信號。
SIGTTIN (21) 當後臺作業要從用戶終端讀數據時,該作業中的所有進程會收到SIGTTIN 信號。缺省時這些進程會停止執行。
SIGTTOU (22) 類似於SIGTTIN,但在寫終端(或修改終端模式)時收到。
SIGURG (23) 有“緊急“數據或out-of-band數據到達socket時產生。
SIGXCPU (24) 超過CPU時間資源限制。這個限制可以由getrlimit/setrlimit來讀取或者改變。
SIGXFSZ (25) 超過文件大小資源限制。
SIGVTALRM (26) 虛擬時鐘信號。類似於SIGALRM,但是計算的是該進程佔用的CPU時間。
SIGPROF (27) 類似於SIGALRM/SIGVTALRM,但包括該進程用的CPU時間以及系統調用的時間。
SIGWINCH (28) 窗口大小改變時發出。
SIGIO (29) 文件描述符準備就緒,可以開始進行輸入/輸出操作。
SIGPWR (30) Power failure。