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:非法的系統呼叫。