(initscripts) コマンドを実行し、コマンドが10秒以内に完了しない場合は別のコマンドを実行します。

(initscripts) コマンドを実行し、コマンドが10秒以内に完了しない場合は別のコマンドを実行します。

(Debian) Linux では次のことをしたい:

  • コマンドを実行します。
  • コマンドが 10 秒以内に完了しない場合は、コマンドを強制終了して別のコマンドを試してください。

使用例は次のとおりです。

正常にシャットダウンしたいデーモン サービスがあります。TCP コマンドを送信することで停止できます。TCP コマンドが返されない場合は、Posix HUP を使用してプロセスを強制終了します。

start-stop-daemon はこれを実行しないようですが、誰かヒントを持っていますか?

答え1

私はまた、Debian の人々が実装した に対してメダルを与えませんでしたstart-stop-daemon

timeout何らかのデーモンに関する回避策を講じたいと考えているようです。GNU 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

この情報は、これ質問。

関連情報