[問題] 關於signal 的問題
看板C_and_CPP (C/C++)作者batista630 (try your best)時間16年前 (2010/02/13 23:42)推噓1(1推 0噓 2→)留言3則, 1人參與討論串1/1
最近在看signal,有些地方不太懂想請問一下:
signal 的定義是說,我收到一個訊號,然後我可以按照看到的訊號做出一個回應,
通常這個回應我可以自己定義,如果我沒有定義的話會按照系統預設的方式回應。
假設今天我按下 ctrl+c ,那我會有一個signal(SIGINT,handler)來回應。
很明顯的我知道 ctrl+c 是對應到 SIGINT , 但是我現在看到的一些code,
通常沒有一個像是按下 ctrl+c 這樣的動作來對應到某一個信號。
比方說我在某程式看到 signal(SIGPIPE,handler),雖然我知道他是要用pipeline,
但是我根本沒有看到在哪裡觸發了 SIGPIPE。
這樣會讓我有一種錯覺就是我不管收到了什麼信號,我只要讓他執行handler就可以
完成我想要的動作,到底是不是 SIGPIPE 似乎沒有那麼重要,
當然我知道事情一定沒有我想得那麼單純,寫SIGPIPE一定有某種用意。
所以 1.我想請問一下在參數中寫 SIGPIPE 的機制到底是什麼?
2.它裡面到底有沒有像是 SIGINT 對應到 ctrl+c 這種動作存在?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.104.62
※ 編輯: batista630 來自: 218.166.104.62 (02/13 23:43)
推
02/14 14:24, , 1F
02/14 14:24, 1F
→
02/14 14:25, , 2F
02/14 14:25, 2F
→
02/14 14:26, , 3F
02/14 14:26, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章