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