[問題] 關於signal 的問題

看板C_and_CPP (C/C++)作者 (try your best)時間16年前 (2010/02/13 23:42), 編輯推噓1(102)
留言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:25, , 2F
不是每個 signal 都是由使用者發出的
02/14 14:25, 2F
文章代碼(AID): #1BTiXFmB (C_and_CPP)
文章代碼(AID): #1BTiXFmB (C_and_CPP)