私は自分の使用のためにbashスクリプトを作成しています。 20秒などの特定の時間コマンドを実行してコマンドを終了するにはどうすればよいですか?インターネットから多くの解決策を試しましたが、何も機能しません。また、タイムアウトコマンドを試しましたが成功しませんでした。これに対する解決策をいくつか教えてください。
前もって感謝します
更新
例:10秒後にスクリプトとターミナルでこのコマンドを実行したい
some command
以下に、問題を解決する可能性のあるbashスクリプトとtimelimitというプログラムを示します。 しばらくの間実行が許可された後にプロセスを停止
編集:私はより良い解決策を見つけたと思う。タイムアウトプログラムを使用してみてください。 manページから:「タイムアウト-制限時間付きでコマンドを実行する」。例えば:
timeout 5s sleep 10s
基本的にコマンドを実行し、指定された期間が経過するとコマンドを強制終了します。
timeout
コマンドを提供しないシステムでは、次を使用できます。
your-cmd & sleep 30 ; kill $!
潜在的に長時間実行されるyour-cmd
タイムアウトが30秒。
your-cmd
は30秒以内に終了せず、TERM
信号が送信されます。
スクリプトの実行をスケジュールしますか? cron はあなたの友達です。
私は2つのオプションを提案します:
timeout
コマンドがあるシステムでは、man timeout
に従って使用できます。/usr/share/doc/bash-3.2/scripts/timeout
で提供されるスクリプトを使用できます。使用情報に従って使用してください。