[问题] 请问 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