30 關於程序對信號的處理,下列何者正確?
(A) 只能採取預設動作
(B) 不可以阻擋任何信號
(C) 可以選擇忽略、阻擋或撿接信號
(D) 所有信號都必須處理
答案:登入後查看
統計: A(1), B(0), C(6), D(1), E(0) #3399877
統計: A(1), B(0), C(6), D(1), E(0) #3399877
詳解 (共 2 筆)
#7318879
【第一步:找關鍵字】
關鍵字:
-
信號處理(signal handling)
-
忽略(ignore)
-
阻擋(block)
-
接收(catch)
? 這題就是在考:
Signal 有幾種處理方式?
【第二步:白話翻譯】
這題在問:
? 「當程式收到 signal 時,可以怎麼處理?哪個說法是正確的?」
【第三步:解題思路】
這題在考什麼觀念?
? Signal 的三種處理方式(核心必背)
解題步驟
-
回想 signal 的處理方式
-
比對選項
-
找完整正確的描述
原理與規則(生活比喻)
把 signal 想成「來電通知」:
當電話來了,你可以:
-
不接(ignore)
-
先靜音(block)
-
接起來自己處理(catch)
-
照預設行為(default)
? 這就是 signal 的處理方式
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
? 不只預設動作
還可以:
-
ignore
-
catch
-
block
(B) 為什麼錯?
✘ 錯
? 可以阻擋 signal
(除了 SIGKILL、SIGSTOP)
(C) 為什麼對?
✔ 正確(本題答案)
? signal 可以:
-
忽略(ignore)
-
阻擋(block)
-
接收處理(catch)
? 完整描述
(D) 為什麼錯?
✘ 錯
? 不是所有 signal 都要處理
可以:
-
忽略
-
使用預設
【觀念補充與延伸】
核心觀念定位
? 作業系統 / Signal 機制
? 高頻基本題
Signal 處理方式總整理
| 方法 | 說明 |
|---|---|
| default | 系統預設 |
| ignore | 忽略 |
| catch | 自訂處理 |
| block | 暫時不處理 |
例外(一定要記)
| 信號 | 特性 |
|---|---|
| SIGKILL | 無法 block / ignore / catch |
| SIGSTOP | 無法 block / ignore / catch |
觸類旁通(舉一反三)
對比概念
-
block vs ignore
? block:延後處理
? ignore:永遠不處理
變化題型
-
問:signal handler 是什麼?
? catch 的實作方式
【記憶口訣】
? 「信號三招:忽略、阻擋、接住」
【常見陷阱】
學生最容易搞混的地方
把 block 和 ignore 搞混
心理盲點
看到「只能」「一定」就沒警覺
避坑指南
? 遇到:
-
「只能」→ 通常錯
-
「全部」→ 通常錯
0
0