1. 程式人生 > 其它 >linux系統程式設計——訊號概述

linux系統程式設計——訊號概述

技術標籤:linux嵌入式c語言

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來檢視訊號

——@上官可程式設計