タイムアウトプロセスを開始したい。 SIGINTとSIGKILLを使用してプロセスを終了するにはどうすればよいですか?プログラムが5秒以内に終了しないと、SIGINTが送信されます。合計10秒後も実行を続けている場合は、SIGKILLを送信してください。
timeout -s SIGINT nano; timeout -s SIGKILL nanoを実行しましたが、機能しません。誰でも助けることができますか?
答え1
timeout コマンドには、使用しない期間オプションがあります。
マニュアルによると:
タイムアウト[オプション]期間コマンド[ARG]...
それにもかかわらず、使用中の構成は機能しません。 (例:2つの別々のコマンドを使用)
実際には、timelimitコマンドを使用する方が一貫性があります。インストールしてください:
sudo apt-get install timelimit
マニュアルから:
timelimit [-pq] [-S Killsig] [-s warningsig] [-T Killsig] [-t warning time] コマンド [パラメータ...]
リンク:
人間の時間制限
http://manpages.ubuntu.com/manpages/utopic/man1/timelimit.1.html
私のスクリプトの実際の使用例は次のとおりです。
timelimit -q -t1 -T30 command