(initscripts)执行一个命令,如果命令在10秒内没有完成,则运行另一个命令

在(Debian)Linux上我想:

  • 执行一个命令。
  • 如果命令在10秒内没有完成,请杀死它并尝试另一个命令。

用例是:

我有一个守护进程服务,我想优雅地closures。 它可以通过发送一个TCP命令来停止。 如果TCP命令没有返回,则使用Posix HUP终止进程。

启动 – 停止守护进程似乎不这样做,任何人有任何提示?

我也没有给debian的人发一张勋章,实行start-stop-daemon

我想,你想对一些守护进程做一个解决方法。 GNU CoreUtils包中有一个名为timeout的工具,可以帮助你做到这一点:

 timeout --kill-after=15 --signal=9 this_is_my_command || this_will_run_on_fail 

它会运行this_is_my_command ,如果超时,它会用信号9(hard kill)杀死这个,然后运行命令this_will_run_on_fail

我从这个问题中得到了部分信息。