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.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...