Hitachi

Advanced Shell 


9.3.34 waitコマンド(子プロセスの完了を待つ)

形式

wait [pid ...]

機能

子プロセスの完了を待ちます。pidには完了を待つ子プロセスのプロセスIDを1つ以上指定します。pidを指定しなかった場合は,実行中のすべての子プロセスの完了を待ちます。数値以外から始まる不当なプロセスIDをpidに指定した場合は,終了コード127で正常終了します。

ただし,次のように数値と数値以外を混在して指定し,かつ先頭が数値の場合,数値として解釈される位置までをプロセスIDと判断し,プロセスの完了を待ちます。

UAP &        # シェル変数!にはUAPを起動したプロセスが格納されます。
wait $!ABC   # waitコマンドはABCの直前までをプロセスIDと解釈し,完了を待ちます。

引数pidを指定した場合,waitコマンドは最後の完了を待ったプロセスのコマンドの終了コードで終了します。例を次に示します。

UAP1 &                    # UAP1は終了コード2
PID1=$!                   #
UAP2 &                    # UAP2は終了コード16
PID2=$!                   #
UAP3 &                    # UAP3は終了コード0
PID3=$!                   #
wait $PID1 $PID2 $PID3    # waitコマンドは終了コード0で終了します

引数

pid

完了を待つ子プロセスのプロセスIDを指定します。

終了コード

終了コード

意味

0

正常終了

127

正常終了

  • pidに指定された子プロセスを特定できません。

  • 実行中の子プロセス以外のプロセスIDをpidに指定しました。

上記以外

エラー終了

注意事項

使用例