linux常用信號列表

載自: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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章