Debian
(initscripts) 執行一個命令,如果該命令在 10 秒內沒有完成,則執行另一個
在(Debian)Linux上,我想:
- 執行一個命令。
- 如果命令未在 10 秒內完成,請將其終止並嘗試另一個命令。
案例是:
我有一個守護程序服務,我想優雅地關閉它。它可以通過發送 TCP 命令來停止。如果 TCP 命令沒有返回,請使用 Posix HUP 終止程序。
start-stop-daemon 似乎沒有這樣做,有人有任何提示嗎?
我也沒有給 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(硬終止)終止它,然後執行命令this_will_run_on_fail
。我部分地從這個問題中獲得了這些資訊。