linux訊號有:1、SIGHUP,用於讓進程立即關閉,然後重新讀取設定檔之後重啟;2、SIGINT,程式中止訊號,用於中止前台進程;3、SIGQUIT,程式退出訊號;4、SIGFPE,在發生致命的算術運算錯誤時發出;5、SIGKILL,用來立即結束程式的運作;6、SIGALRM,時鐘定時訊號;7、SIGTERM,正常結束行程的訊號;8、SIGCONT; 9、SIGSTOP等。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux中訊號是什麼
程式的管理主要是指處理行程的關閉與重新啟動。我們一般關閉或重啟軟體,都是關閉或重新啟動它的程序,而不是直接操作進程的。例如,要重啟 apache 服務,一般使用指令"service httpd restart"重啟 apache的程式。
那麼,可以透過直接管理進程來關閉或重新啟動 apache 嗎?答案是肯定的,這時就要依賴進程的訊號(Signal)了。我們需要給予該進程號,告訴進程我們想要讓它做什麼。
訊號在linux作業系統中是很重要的,訊號的產生方式可以是來自鍵盤、由軟體條件產生、呼叫硬體異常產生。來自系統函數呼叫產生、在linux中一共有64個訊號,linux使用者可以透過kill -l查看,如下
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) 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 63) SIGRTMAX-1 64) SIGRTMAX
前32種稱為不可靠訊號,一般用於軟體不支援排隊後, 32種稱為可靠訊號一般用於硬體支援排隊。
linux中常見的訊號
訊號代號 | 訊號名稱 | 說 明 |
---|---|---|
1 | SIGHUP | 該訊號讓進程立即關閉.然後重新讀取設定檔之後重啟 |
2 | SIGINT | 程式中止訊號,用於中止前台進程。相當於輸出Ctrl C 快速鍵 |
3 | SIGQUIT | 程式退出訊號(同 Ctrl \) |
#8 | SIGFPE | 在發生致命的算術運算錯誤時發出。不僅包括浮點運算錯誤,還包括溢出及除數為0 等其他所有的算術運算錯誤 |
9 | SIGKILL | 用來立即結束程式的運行。本訊號不能被阻塞、處理和忽略。般用於強制中止程序 |
14 | SIGALRM | 時鐘定時訊號,計算的是實際的時間或時脈時間。 alarm 函數使用該訊號 |
15 | SIGTERM | 正常結束程序的訊號,kill 指令的預設訊號。如果進程已經發生了問題,那麼這個訊號是無法正常中止進程的,這時我們才會嘗試SIGKILL 訊號,也就是訊號9 |
18 | ##SIGCONT該訊號可以讓暫停的進程恢復執行。此訊號不能被阻斷 | |
SIGSTOP | 此訊號可以暫停前台進程,相當於輸入 Ctrl Z 快捷鍵。本訊號不能被阻斷 |
Key | Function |
---|---|
## Ctrl-c
| Kill foreground process|
#Ctrl-z ##Suspend foreground process |
|
Terminate input, or exit shell |
|
Suspend output |
|
Resume output |
|
Discard output |
|
Clear screen |
以上是linux有哪些訊號的詳細內容。更多資訊請關注PHP中文網其他相關文章!