特定のコマンドを 15 秒間実行してからコマンドを強制終了するシェル スクリプトを作成する方法はありますか?
スリープ、待機、および ping を試しましたが、間違った使い方をしている可能性があります。
特定のコマンドを 15 秒間実行してからコマンドを強制終了するシェル スクリプトを作成する方法はありますか?
スリープ、待機、および ping を試しましたが、間違った使い方をしている可能性があります。
timeout
次のコマンドを使用します。
timeout 15s command
注: 一部のシステムでは をインストールする必要がありますが、coreutils
他のシステムでは、インストールされていないか、コマンド ライン引数が異なります。@ArjunShankar によって投稿された代替ソリューションを参照してください。それに基づいて、定型コードをカプセル化timeout
し、同じことを行う独自の移植可能なスクリプトまたは小さな C アプリを作成できます。
一部のマシンには、インストールされていないtimeout
/利用できないものがあります。その場合、プロセスをバックグラウンドで実行できます。その PID は次のように保存され$!
ます。次に、必要な時間スリープしてから、それを殺します。
some_command arg1 arg2 &
TASK_PID=$!
sleep 15
kill $TASK_PID
このURLで、これを実現するための解決策が複数記載されていることがわかりました。