微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/linux/398008.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐