我使用s6( http://skarnet.org/software/s6/ )来监督多个进程。
我在/etc/s6/文件夹中有几个服务,其中一个只需要从init.d脚本调用start动作。
截至目前,脚本已经开始,但是它试图一次又一次地重新开始。
有没有办法避免这种情况?
如果你的服务是一次性的,也就是说,它需要一次运行而死亡,但不能保持活力,那么它不是一个好的监督人选。 过程监督只适用于长时间运行的进程,也就是守护进程。
解决您的问题的正确方法是将您的一次性脚本从监督服务集合中取出,并在初始化过程中的某个时刻运行它,而不要试图使用s6-svscan / s6-supervise来pipe理它。
你可以通过在运行脚本的开始部分包含s6-svc -O /etc/s6/servicefolder 。 这将告诉s6不再启动此服务。
来源: https : //skarnet.org/software/s6/s6-svc.html