名前 | 形式 | 機能説明 | オペランド | 使用法 | 使用例 | 環境 | 属性 | 関連項目
wait [pid]...
wait [pid]...
wait [% jobid...]
wait
シェルは、新しいプロセスを作成せずに、シェル自身で wait を実行します。エラーメッセージ cannot fork, too many processes が表示された場合、wait コマンドを使用して、バックグラウンドプロセスをすべてクリアしてください。これを行なっても問題が解決しない場合には、システムのプロセステーブルが一杯になっていること、または実行中のフォアグラウンドプロセスの数が多すぎることが考えられます。ユーザーのログインに対するプロセス ID の数、およびシステムが把握できるプロセスの数には制限があります。
段階以上のパイプラインのプロセスは、必ずしもすべてがシェルの子プロセスであるわけではなく、そのようなプロセスは待つことができません。
プロセス ID が pid であるバックグラウンドプロセスを待ち、そのプロセスの終了ステータスを報告します。pid を省略すると、ユーザーのシェルで現在実行中のバックグラウンドプロセスをすべて待ち、戻り値は 0 になります。ジョブ制御が有効 (jsh) なとき、wait はジョブ識別子の指定を受け付けます。引数のは、先頭にパーセント記号 (%) を付加して指定します。
pid が実行中のプロセス ID でない場合には、wait ユーティリティはすぐに戻り、戻り値は 0 になります。
バックグラウンドプロセスを待ちます。
シェルが非同期リストを開始したとき、非同期リストの各要素内の最後のコマンドのプロセス ID が、現在のシェル実行環境に知らされます。
wait ユーティリティがオペランドなしで呼び出されると、呼び出し側シェルが認識しているすべてのプロセス ID が終了するまで待ち、終了ステータス 0 で終了します。
認識しているプロセス ID (またはジョブ ID) を示すいくつかの pid または jobidオペランドが指定された場合、wait は認識しているプロセス ID (またはジョブ ID) が終了ステータス 127 で終了したのと同じように扱います。wait ユーティリティが戻した終了ステータスは、最後の pid または jobid オペランドで要求したプロセスの終了ステータスです。
認識されたプロセス ID は、現在のシェル実行環境内の wait 呼び出しに対してだけ適用可能です。
以下のオペランドを指定できます。
以下のうちのいずれかを指定します。
ユーティリティが停止を待つ対象であるコマンドの符号なし 10 進整数プロセス ID
待つ対象のバックグラウンドプロセスグループを識別するジョブ制御ジョブ ID。ジョブ制御ジョブ ID 表記は、現在のシェル実行環境内の wait 呼び出しに対してだけ適用可能です。なお pid のジョブ制御ジョブ ID の形式は、ジョブ制御オプションをサポートしているシステム上でだけ使用可能です。
ほとんどのシステムでは、wait はシェルに組み込まれています。サブシェルや別のユーティリティ実行環境で、次のように wait が呼び出されたとします。
(wait) nohup wait . . . find . -exec wait . . . \; |
これらの環境では待つ対象の認識されたプロセス ID がないため、ただちに戻ります。
プロセスがシグナルによって停止されたときに使用する正確な値は不定ですが、シグナルがプロセスを停止したことがわかっていれば、以下のようにすると、どのシグナルが kill を使用しているかをかなり正確に特定できます (/bin/ksh および /usr/xpg4/bin/sh)。
sleep 1000& pid=$! kill -kill $pid wait $pid echo $pid was terminated by a SIG$(kill -l $(($?-128))) signal. |
以下のコマンドが 31 秒未満で実行されたとします (/bin/ksh および /usr/xpg4/bin/sh):。
sleep 257 | sleep 31 & jobs -l %% |
その場合、次のコマンドのどちらかが 2 番目の sleep の終了ステータスを戻します。
wait <pid of sleep 31> wait %% |
wait の実行に影響を与える環境変数 LC_CTYPE、LC_MESSAGES、NLSPATH についての詳細は、environ(5) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWcsu |