[問題] 請問 signal handling

作者: XAMDOU (薩姆德)   2019-05-24 18:15:48
平台是 Linux, 用 c++ 寫的
寫了一個小程式,有把一些檔案寫在硬碟上
目的想要在程式無論成功與否都把動過的檔案清乾淨
程式內用 try catch 大範圍的把東做包起來
但是想想覺得還不夠,另外還做 signal 的處理
但有些 signal 真的抓不到
想請問版上的大大
這方面有什麼比較常見的處理方式嗎?
或是有什麼書籍、參考資料可以研讀的
感恩!
作者: Schottky (順風相送)   2019-05-24 18:38:00
清乾淨是指刪除檔案嗎?剛開完檔案就 unlink 它,檔案就刪除了。handler 在 close 前還可以使用,當程式正常或不正常結束時 handler就一併消滅不會留垃圾。
作者: MOONRAKER (㊣牛鶴鰻毛人)   2019-05-24 18:41:00
用一個sh script包起來不就結了執行程式 然後rm檔案 當然你程式暫存檔要固定地方放如果你程式會到處寫檔案那就尷尬
作者: Schottky (順風相送)   2019-05-24 18:45:00
有些 signal 如 SIGKILL 本來就不可能收到shell script 是好主意
作者: descent (「雄辯是銀,沉默是金」)   2019-05-24 21:49:00
APUE
作者: LiloHuang (十年一刻)   2019-06-16 01:10:00
推 Schottky 的方法,unlink 後 fd 仍有效,實務上常見

Links booklink

Contact Us: admin [ a t ] ucptt.com