實驗七 訊號

2022-06-05 01:51:09 字數 1711 閱讀 3547

專案

內容這個作業屬於哪個課程

這個作業的要求在**

學號-姓名

17041530-嚴喆皓

作業學習目標

1、了解訊號的概念 2、掌握訊號處理的方法

1.編寫乙個簡單的程式並執行,然後向該程序傳送不同的訊號以觀察該程序對接收到訊號的反應。

1)在當前終端通過按鍵組合向該程序傳送訊號 ctrl+c、ctrl+z、ctrl+\ 觀察三種訊號及其對應的程序反應,如下所示。

2) 另開啟乙個終端,在終端通過輸入 kill 命令來給程序傳送訊號,程序的 pid 在程式執行的第一行輸出,每次執行程式的時候 pid 是不同的, 我們可以在終端通過輸入 kill -l 來檢視當前系統當中的訊號列表 對於 kill 命令我們可以檢視手冊: man kill

3) 我們編寫乙個簡單的程式,該程式呼叫 kill() 函式向某個程序傳送訊號

2.使用 signal() 函式來捕捉訊號。

3.通過舉例說明 alarm() 函式和 setitimer() 函式的使用。

程式在執行1秒鐘後被 sigalrm 訊號結束。

分析alarm() 函式和 setitimer() 函式的區別:

alarm函式在指定數秒後會給當前程序傳送sigalrm訊號。程序收到該訊號,預設動作終止。

setitimer可用來實現延時和定時的功能

4.舉例說明訊號集操作函式的使用

5.舉例說明對阻塞訊號與未決訊號的理解

在乙個程序中,儲存了兩個訊號集(在pcb中),分別是阻塞訊號集,還有乙個未決訊號集。當你使用sigprocmask的時候,就會修改阻塞訊號集。 當你的程序一收到訊號且該訊號被阻塞,它首先進入到未決訊號集中(就是乙個 sigset_t ), 當未決訊號集中的訊號被訊號處理函式(你自己定義的或者系統預設的)處理,就會從未決訊號集中刪除。 如果乙個訊號加入阻塞訊號集,該訊號的訊號處理函式就不會被呼叫。 通過 man sigprocmask 來檢視手冊:

實驗七 訊號

專案 內容所屬課程 作業要求 學號姓名 17043215賴長江 學習目標 1.了解訊號的概念。2.掌握訊號處理的方法。1.編寫乙個簡單的程式並執行,然後向該程序傳送不同的訊號以觀察該程序對接收到訊號的反應。在終端編譯並執行該程式,我們可以在當前終端通過按鍵組合向該程序傳送訊號 ctrl c ctrl...

訊號發生實驗總結

訊號發生實驗總結 一 概述 分析思路 1.原理 產生連續訊號的方法有兩種,一種是查表法,另一種是我們常用的計算法。查表法,即將要輸出的資料計算好,儲存在 dsp中,然後依次輸出。查表法,速度快,可以產生較高頻率的波形,而且不占用 dsp的計算時間,但是占用 dsp儲存空間較大。計算法,即用計算的方法...

VxWorks實驗八 訊號

實驗八訊號 1 實驗目的 1 學習使用訊號 2 實驗內容 在實驗一建立的 project 中,編寫一段訊號處理程式,將其與sigint 相關連,使用kill 傳送sigint 訊號並呼叫訊號處理程式。觀察執行結果。3 實驗裝置及工具 1 硬體 a pc 機 2 軟體 a pc 機作業系統window...