linux – 在硬重启后解决过时的pidfile问题导致我的守护进程死机

前端之家收集整理的这篇文章主要介绍了linux – 在硬重启后解决过时的pidfile问题导致我的守护进程死机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在(VMWare)VM上使用Red Hat Linux(RHEL5).我写了一个守护进程,它应该一直保持运行并自动在启动时运行.

昨晚VM主机出现了无法恢复的硬件问题,VM突然停止运行.当它回来时,我的守护进程没有启动,因为pidfile仍然存在.

显然这被称为The Stale pidfile Syndrome,但我不确定什么是减轻它的最佳长期方法.我认为/etc/rc.d*中的启动脚本应该在启动守护进程之前删除pidfile,但是/etc/init.d中的服务管理脚本应该保持不变,所以service mydaemon start之类的东西不会破坏了pidfile.

/etc/rc.d/rc6.d只是在/etc/init.d/中有一个符号链接到脚本,所以如何才能改变它在启动时的行为?我可以在rc.d dirs中创建一个具有更高优先级的附加脚本,但它看起来很hacky.有人还建议添加逻辑,如“正常运行时间不到1分钟,删除pid文件”,但这似乎也很麻烦.

任何想法或解决方案或最佳做法?

解决方法

使用 daemontools并查看 Process Management.

猜你在找的Linux相关文章