%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%80%81%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C10%E7%A7%92%E4%BB%A5%E5%86%85%E3%81%AB%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E5%88%A5%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
(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
。
この情報は、これ質問。