首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux守护进程中的错误处理

问Linux守护进程中的错误处理
EN

Stack Overflow用户
提问于 2012-05-07 02:00:15
回答 1查看 564关注 0票数 1

我正在编写一个服务器Linux守护进程。我想知道UNIX/Linux社区中的协议是什么,因为当守护进程遇到致命错误时,它应该做什么(例如。服务器无法侦听、分段错误等)。我已经完成了系统日志的全部工作,但是我想知道如何处理致命的错误。我应该在一个无限的、无所事事的循环中记录并继续运行吗?我应该登入并退出吗?这里的标准是什么,我该怎么做?

守护进程是用C++编写的,我使用自定义的异常系统来包装POSIX错误代码,这样我就可以知道什么时候是致命的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-07 02:10:50

有严重的“致命错误”。

  • 服务器无法侦听可能是一个暂时的问题;您的守护进程可能会继续尝试连接,可能会定期重新尝试,然后缓慢地退出(1秒、2秒、4秒等)。
  • 如果遇到seg错误,最好通过重新执行守护进程来尝试重新启动自己。当然,这可能会再次出现。
  • 您不应该进入一个无限的不做任何事情的循环;您应该终止而不是那样做。如果您的循环不是无限的,但是可能被一个信号或什么东西打断了,那么也许什么也不做--什么都不做是好的;我建议使用pause()系统调用作为一种在不消耗CPU时间的情况下不做任何事情的方法。
  • ,您当然应该在退出之前记录您正在做的事情和原因。

。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10475865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档