信號_Linux下常用的信號有哪些


Linux下常用的信號有哪些

1.5 Linux下都有哪些信號

1.5.1 信號列表 kill -l

 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP 6) SIGABRT
7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR111) SIGSEGV     12) SIGUSR2     
13) SIGPIPE     14) SIGALRM     15) SIGTERM16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     
19) SIGSTOP     20) SIGTSTP21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     
25) SIGXFSZ26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    

35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
  • 在命令行支持kill -l,可以顯示所有的信號列表

  • 總共62個信號,也就是說每個進程都可以接收的信號種類有62種。1~64為信號的編號,SIG***為信號的宏名。

  • (1) 為什么這么多信號

    • 每個信號代表着某種事件,一般情況下,當進程收到某個信號時,就表示該信號所代表的事件發生了。
    • 可能發生的事件有很多種,所以有這么多信號,每個信號對應着自己特有的事件。
  • (2)這么多信號,記不住怎么辦?

    • (1)35~64:這些信號是Linux后期增設的信號,這些信號不需要關心,不需要了解。
    • (2)1~34:也不是所有的信號都要掌握,我們只關心其中常用的信號
    • (3)就算對1~34中的常用信號,我們的要求是理解,而不是記憶。當忘記了信號名字時,kill -l查看即可。對這些信號,理解是關鍵。

1.5.2 常用信號

信號宏名 信號編號 說明 系統默認處理方式
SIGABRT 6 終止進程,調用abort函數時產生 終止,產生core文件
SIGALRM 14 超時,調用alarm函數時產生 終止
SIGBUS 7 硬件故障 終止,產生core文件
SIGCHLD 17 子進程狀態改變 忽略
SIGINT 2 終止進程(Ctrl+C) 終止
SIGIO 29 異步通知信號 終止
SIGKILL 9 無條件終止一個進程,不可以被捕獲或忽略 終止
SIGPIPE 13 寫沒有讀權限的管道文件時 終止
SIGPOLL 8 輪訓事件,涉及POLL機制 終止
SIGTERM 15 kill PID時默認發送的信號 終止
SIGQUIT 3 終止進程( Ctrl+\ ) 終止,產生core文件
SIGSEGV 11 無效存儲訪問(指針錯誤) 終止
SIGUSER1 10 用戶自定義信號1 終止
SIGUSER2 10 用戶自定義信號2 終止


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM