在 (Debian) Linux 上我想要:
- 执行命令。
- 如果命令在 10 秒内未完成,则终止它并尝试另一个命令。
用例是:
我有一个守护进程服务,我想正常关闭它。可以通过发送 TCP 命令来停止它。如果 TCP 命令没有返回,请使用 Posix HUP 终止该进程。
start-stop-daemon 似乎没有执行此操作,有人有什么提示吗?
答案1
我还没有为 debian 实现的人颁发奖章start-stop-daemon
。
我认为,您想针对某些守护进程制定解决方法。GNU timeout
CoreUtils 包中有一个名为的工具,可以帮助您完成此操作:
timeout --kill-after=15 --signal=9 this_is_my_command || this_will_run_on_fail
它将运行this_is_my_command
,如果超时,它将使用信号 9(硬终止)终止它,然后运行命令this_will_run_on_fail
。
我部分获得此信息来自这问题。