我应该捕获哪些linux信号来制作一个好的应用程序

时间:2016-05-26 01:50:44

标签: python linux

我正在python中创建一个程序,可以自动运行嵌入式系统,并希望优雅地处理程序中断。也就是说,如果可能的话,关闭资源并发出信号子进程也要在实际退出之前正常退出。在这一点上,我的看门狗应该注意到这一点并重新生成一切。

我希望在Linux的非交互式程序中可以/应该接收哪些信号?我正在使用try / except块来处理i / o错误。

系统是否关闭了发出信号的事件?除了我的看门狗,我还将有一个独立的过程监控硬件线,当我的电源检测到电压不足时,该硬件线就会被设置。我有一个超级电容来提供一些运行时间,以便正常关闭。

1 个答案:

答案 0 :(得分:3)

陷阱sigint,sigterm并确保清理套接字,文件,锁等等。

根据您的操作捕获其他信号。例如,如果你有打开的管道,你可能会陷入sigpipe。

记住信号处理可以让您了解竞争条件。您可能希望在处理信号时使用sigprocmask来禁用信号。