c – 在不使用pkill的情况下优雅地退出程序的最佳方法
发布时间:2020-12-13 19:10:11 所属栏目:Linux 来源:网络整理
导读:我目前正在使用脚本调用pkill来终止我的C程序. 但是我注意到使用pkill时没有从我的跟踪中调用析构函数. 还有另一种好方法可以优雅地退出程序吗? pkill似乎有些不整洁,并且缓冲区中的一些日志不会被记录.我希望能够刷新我的fstream并以编程方式关闭所有资源(
我目前正在使用脚本调用pkill来终止我的C程序. 还有另一种好方法可以优雅地退出程序吗? 该应用程序24/7运行没有任何问题,我唯一想停止它是在维护期间.该应用程序没有任何用户界面供我输入exit. 最佳答案
您可以通过以下行为SIGTERM定义信号处理程序来实现:
你的include块中的某个地方:
是的,我们正在做我的风格! 在代码的初始化部分的某处:
然后定义信号处理程序代码(刷新所有内容等):
现在当你运行pkill< app>时,< app>是可执行文件的名称,handler()的代码将运行. 如果没有开关,默认的SIGTERM信号将被发送到应用程序.如果您选择使用不同的信号,则必须确保在处理程序()中“发送”相同的信号. 相关信息可以通过man 7信号找到,当然还有man kill. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |