wait
コマンドは、シェルスクリプトやコマンドラインで実行中のバックグラウンドプロセスが終了するのを待つために使用されます。このコマンドを使うことで、特定のプロセスが完了するまで次の処理を行わないようにすることができます。
基本的な構文は次の通りです。
wait [options] [arguments]
-n
: 次に終了するプロセスを待ちます。-p
: 指定したプロセスIDの終了を待ちます。sleep 5 & # 5秒間スリープするプロセスをバックグラウンドで実行
wait # バックグラウンドプロセスが終了するのを待つ
echo "プロセスが終了しました"
sleep 3 & # 3秒間スリープするプロセスをバックグラウンドで実行
PID=$! # 実行したプロセスのIDを取得
wait $PID # 特定のプロセスIDの終了を待つ
echo "プロセスID $PID が終了しました"
sleep 2 & # 2秒間スリープするプロセス
sleep 4 & # 4秒間スリープするプロセス
wait # すべてのバックグラウンドプロセスが終了するのを待つ
echo "すべてのプロセスが終了しました"
wait
コマンドは、スクリプトの実行フローを制御するのに非常に便利です。バックグラウンドで実行されるプロセスの結果を待つ必要がある場合に使用しましょう。wait
を使うことで、スクリプトの実行が予期しないタイミングで進行するのを防ぐことができます。