linux系統程式設計——訊號概述
阿新 • • 發佈:2021-02-19
linux系統程式設計——訊號概述
1.對於linux來說,訊號實際是軟中斷,例如用ctrl+c來中斷程式。
#include <stdio.h>
int main()
{
while(1);
return 0;
}
鍵盤摁住ctrl+c結束迴圈
2.訊號處理的方式:
忽略訊號,捕捉訊號和預設系統動作。
忽略訊號,大多數訊號可以使用這個方式來處理,但有兩種訊號不能被忽略(分別是SIGKILL和SIGSTOP)。
**捕捉訊號,就是一個訊號處理函式,當收到某個訊號的時候,讓核心幫忙呼叫該函式,(收到某個訊號,想要幹什麼事(經常使用))。
預設系統動作,系統為某一個訊號,繫結一個操作。
其實對於常用的kill命令就是一個發生訊號的工具,kill 9 PID 來殺死程序
使用剛才的程式
執行迴圈程式
開啟另外的終端:
輸入指令 ps -aux|grep (後面是上個程式的執行程式的名字)。
這樣可以檢視程式的pid號,一般是第一行。
輸入指令: kill -9 +程式的pid號就能殺死程式。
這個程式的指令是 kill -9 14443。
在執行程式的那一個終端中,顯示了程式被殺死的指令。
補充:系統可以通過 kill -l來檢視訊號
——@上官可程式設計