linux常用信號列表

SIGHUP:本信號在用戶終端結束時發出,通常是在終端的控制進程結束時,通知同一會話期內的各個作業,這時他們與控制終端不在關聯。比如,登錄linux時,系統會自動分配給登錄用戶一個控制終端,在這個終端運行的所有程序,包括前臺和後臺進程組,一般都屬於同一個會話。當用戶退出時,所有進程組都將收到該信號,這個信號的默認操作是終止進程。此外對於與終端脫離關係的守護進程,這個信號用於通知它重新讀取配置文件。
SIGINT:程序終止信號。當用戶按下CRTL+C時通知前臺進程組終止進程。
SIGQUIT:Ctrl+\控制,進程收到該信號退出時會產生core文件,類似於程序錯誤信號。
SIGILL:執行了非法指令。通常是因爲可執行文件本身出現錯誤,或者數據段、堆棧溢出時也有可能產生這個信號。
SIGTRAP:由斷點指令或其他陷進指令產生,由調試器使用。
SIGABRT:調用abort函數產生,將會使程序非正常結束。
SIGBUS:非法地址。包括內存地址對齊出錯。比如訪問一個4個字長的整數,但其地址不是4的倍數。它與SIGSEGV的區別在於後者是由於對合法地址的非法訪問觸發。
SIGFPE:發生致命的算術運算錯誤。
SIGKILL:用來立即結束程序的運行。
SIGUSR1:留給用戶使用,用戶可自定義。
SIGSEGV:訪問未分配給用戶的內存區。或操作沒有權限的區域。
SIGUSR2:留給用戶使用,用戶可自定義。
SIGPIPE:管道破裂信號。當對一個讀進程已經運行結束的管道執行寫操作時產生。
SIGALRM:時鐘定時信號。由alarm函數設定的時間終止時產生。
SIGTERM:程序結束信號。shell使用kill產生該信號,當結束不了該進程,嘗試使用SIGKILL信號。
SIGSTKFLT:堆棧錯誤。
SIGCHLD:子進程結束,父進程會收到。如果子進程結束時父進程不等待或不處理該信號,子進程會變成殭屍進程。
SIGCONT:讓一個停止的進程繼續執行。
SIGSTOP:停止進程執行。暫停執行。
SIGTSTP:停止運行,可以被忽略。Ctrl+z。
SIGTTIN:當後臺進程需要從終端接收數據時,所有進程會收到該信號,暫停執行。
SIGTTOU:與SIGTTIN類似,但在寫終端時產生。
SIGURG:套接字上出現緊急情況時產生。
SIGXCPU:超過CPU時間資源限制時產生的信號。
SIGXFSZ:當進程企圖擴大文件以至於超過文件大小資源限制時產生。
SIGVTALRM:虛擬使用信號。計算的是進程佔用CPU調用的時間。
SIGPROF:包括進程使用CPU的時間以及系統調用的時間。
SIGWINCH:窗口大小改變時。
SIGIO:文件描述符準備就緒,表示可以進行輸入輸出操作。
SIGPWR:電源失效信號。
SIGSYS:非法的系統調用。

發佈了77 篇原創文章 · 獲贊 44 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章