Linux期末復(fù)習(xí)第七章
Linux期末復(fù)習(xí)第七章
填空題
1、信號的產(chǎn)生是一個異步事件,從信號產(chǎn)生到信號抵達(dá)進(jìn)程需要一定時間,而在這個過程中,會因為各種原因使信號處于不同的狀態(tài),Linux系統(tǒng)中信號可能發(fā)生的狀態(tài)有:發(fā)送狀態(tài)、阻塞狀態(tài)、未決狀態(tài),遞達(dá)狀態(tài)、處理狀態(tài)
2、信號遞達(dá)進(jìn)程后才可能被處理,信號的處理方式有三種,分別為:(忽略)、(捕捉)、(執(zhí)行默認(rèn)動作)
3、kill()函數(shù)的參數(shù)pid有4種取值,每種取值代表不同的含義。若pid<-1,則表示(發(fā)送信號給屬于進(jìn)程組-pid的所有進(jìn)程)
4、若第一次調(diào)用alarm()函數(shù)時參數(shù)為5,3秒后再次調(diào)用alarm()函數(shù)并傳入?yún)?shù)1,則第二次調(diào)用alarm()函數(shù)時,函數(shù)的返回值為(2)
若進(jìn)程中不是第一次調(diào)用alarm(),且上一個的alarm()尚有剩余秒數(shù),則該函數(shù)的成功調(diào)用后會返回舊計時器的剩余秒數(shù),否則返回0
5、在進(jìn)程PCB中,存在兩個信號集,一個稱為(信號掩碼)另一個稱為(未決信號集)。這兩個信號集的實質(zhì)都是位圖,其中的每一位對應(yīng)一個信號。
判斷題
1、信號即可發(fā)送給前臺進(jìn)程,也可發(fā)送給后臺進(jìn)程。(對)
2、在程序中可以通過signal()函數(shù)向進(jìn)程發(fā)送指定信號(錯)
signal()函數(shù)用于捕獲信號,用于發(fā)送信號的函數(shù)為kill()。
3、使用信號可實現(xiàn)進(jìn)程同步(對)
4、signal()函數(shù)和sigaction()函數(shù)分別用于發(fā)送信號和捕獲信號。(錯)
signal()和sigaction()函數(shù)都用不捕獲信號,自定義信號處理方法。
5、因設(shè)備或系統(tǒng)出現(xiàn)不恰當(dāng)?shù)膱?zhí)行時序而得到不正確結(jié)果的現(xiàn)象稱為時序競態(tài)。(對)
單選題
1、(保存信號)不屬于進(jìn)程對信號的響應(yīng)方法
2、(SIGSTOP)不能被進(jìn)程屏蔽和捕獲
3、(睡眠狀態(tài))不是Linux系統(tǒng)中信號的狀態(tài)
4、使用快捷鍵組合Ctrl+\會發(fā)送(SIGQUIT)信號到前臺進(jìn)程
5、不能產(chǎn)生信號的是(read())