39

私は自分で使用するbashスクリプトを作成しています。コマンドを特定の時間 (20 秒など) 実行してコマンドを終了するにはどうすればよいですか? 私は多くの解決策を試しましたが、何もうまくいきませんでした.timeoutコマンドも試しましたが成功しませんでした. これに対する解決策を教えてください。

例: このコマンドをスクリプトとターミナルで 10 秒後に実行したい

some command
4

5 に答える 5

73

問題を解決する可能性のある bash スクリプトと timelimit というプログラムを次に示します。 しばらく実行が許可された後、プロセスを強制終了します

編集:より良い解決策を見つけたと思います。タイムアウト プログラムを使用してみてください。マニュアルページから:「タイムアウト - 時間制限付きでコマンドを実行する」。例えば:

timeout 5s sleep 10s

基本的にコマンドを実行し、指定された期間が経過するとコマンドを強制終了します。

于 2013-05-08T08:49:15.337 に答える
1

2つのオプションを提案します:

  • コマンドがあるシステムでは、timeoutに従って使用できますman timeout
  • これがないシステム (CentOS 5 など) では、 bash で提供されるスクリプトを使用できます/usr/share/doc/bash-3.2/scripts/timeout。使用上の注意に従って使用してください。
于 2016-08-29T10:26:11.323 に答える
0

スクリプトの実行をスケジュールしますか? 次に、cronはあなたの友達です。

于 2013-05-08T08:34:51.610 に答える
-8

sleep&&オペランドを使用します。

sleep [秒単位の時間] &&コマンド

例:

sleep 7 && echo 'Hello world!'

于 2017-09-29T08:29:32.597 に答える