【wait】Linuxで指定したプロセス・ジョブの終了を待つコマンド

Linuxのwaitコマンドを使うことで、プロセスやジョブの終了を待つことができます。

waitコマンドの書式

waitコマンドの書式は以下通りです。

引数の数値にはプロセスIDまたはジョブ番号を指定します。ジョブ番号を指定する場合には、番号の前には「%」が必要です。

waitコマンドは指定した指定したプロセス(ジョブ)が終了するまで待ちます。プロセス(ジョブ)を指定しなかった場合は、バックグラウンドで実行しているすべてのプロセスの終了を待ちます。また、複数指定した場合は指定したプロセス(ジョブ)がすべて終了するまで待ちます。

引数なしで実行する

以下のシェルスクリプトでは、command1、command2、command3を同時にバックグラウンドで実行し、その3つのプロセスすべてが終了した後、waitコマンドが実行されcommand4が実行されます。

「&」が付加されたコマンドはバックグラウドで同時に実行されます。

プロセスIDまたはジョブ番号を複数指定する

waitコマンドはプロセスID(またはジョブ番号)を複数指定することができます。

以下の例は、command1、command2、command3を同時にバックグラウンドで実行しますが、waitコマンドに指定した2つのプロセス(command1、command2)が終了した時点で、waitコマンドが終了しcommand4が実行されます。この場合、waitはcommand3のプロセス終了を待つことはありません。

このようにwaitコマンドを使用すれば、並列に実行したプロセスを待つことができます。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて