我目前正在通过玩耍来学习新贵。我想我现在已经理解了该原理,但是我在新手工作中遇到“ kill timeout”节时遇到了困难。
例如,我有以下工作(文件名/etc/init/test.conf):
description "test"
start on test
console owner
kill timeout 5
task
exec /root/test
文件/ root / test是一个永久运行的小型shell脚本:
while true; do o=1; done;
在执行“ initctl start test”时,将运行作业“ test”并调用脚本“ / root / test”。我可以通过执行“ initctl status test”(它显示该作业正在运行)以及通过执行“ ps -Alf”来进行验证。
现在,“ kill timeout 5”节将导致作业在5秒钟后被杀死。但是相反,这项工作似乎永远存在。
我想知道我是否以正确的方式使用和理解了kill timeout节。这对我来说是必不可少的功能。
这是在Natty 11.04上,但是我认为这个问题也适用于其他版本。
非常感谢你,
比纳鲁斯
那不是什么kill timeout
;它指定了在发出礼貌的“终止”信号后,要等到进程退出后再放弃并发射核武器,要等待多长时间。
如果要以这种upstart
方式设置流程时间限制,最简单的方法可能是让某些东西定期发出timer
事件并使用stop on timer
。或者(可能更一般而言),创建一个包装程序,该程序分叉一个小的进程,该进程在一段时间后发送一个事件,然后发送stop on
该事件。
有关更多信息和最佳实践,请参见The Upstart Cookbook。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句