[問題] ctrl + c

看板Linux作者 (Shizuru)時間17年前 (2008/12/10 16:23), 編輯推噓2(2012)
留言14則, 4人參與, 最新討論串1/3 (看更多)
想請教一下 當我程式中開啟/dev/ttyS0時 程式被crtl + c所中斷 但是/dev/ttyS0並不會關閉 雖然程式的後面有寫到close的部分 但是因為crtl + c,所以沒有執行到那段 我用過sigaction處理ctrl + c 但是雖然可以關閉/dev/ttyS0 不過卻沒有辦法結束掉我的程式 所以想請教一下各位先進有沒有較好的處理方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.64.187.146

12/10 16:28, , 1F
另外,我曾經試過在sigaction的函數用goto
12/10 16:28, 1F

12/10 16:28, , 2F
不過函數似乎不予許這樣的做法,他會找不到label
12/10 16:28, 2F

12/10 17:18, , 3F
問問男人怎麼說 signal
12/10 17:18, 3F

12/10 17:19, , 4F
ctrl-C 叫做 SIG_BRK
12/10 17:19, 4F

12/10 17:41, , 5F
請問中SIGINT和SIGBRK不同嗎?
12/10 17:41, 5F

12/10 17:47, , 6F
signal和sigaction做的事情不是同樣嗎?
12/10 17:47, 6F

12/10 17:47, , 7F
目前在我看了說明之後是這樣認為的
12/10 17:47, 7F

12/10 20:13, , 8F
你確定程式還抓得到 ctrl+c 嗎?會不會只跑背景輸出而已?
12/10 20:13, 8F

12/10 20:18, , 9F
在 ISR 內關閉 ttyS0 之後回復 ctrl+c 的預設動作
12/10 20:18, 9F

12/10 20:18, , 10F
在送一次 ctrl+c 給自己
12/10 20:18, 10F

12/10 20:41, , 11F
我確定程式第一次進行中有抓到ctrl+c
12/10 20:41, 11F

12/10 20:42, , 12F
可否請教一下,何謂ISR?
12/10 20:42, 12F

12/10 20:43, , 13F
因為我在ctrl+c之後,沒有正常關閉ttyS0
12/10 20:43, 13F

12/10 20:43, , 14F
於是同樣的程式啟動第二次,就會卡在open那行程式
12/10 20:43, 14F
文章代碼(AID): #19FtnkNG (Linux)
討論串 (同標題文章)
文章代碼(AID): #19FtnkNG (Linux)