wait
Process.h:インデックス への移動
ヘッダー ファイル
process.h
カテゴリ
プロセス制御ルーチン
プロトタイプ
int wait(int *statloc);
説明
1 つ以上の子プロセスが終了するのを待ちます。
wait 関数は、1 つ以上の子プロセスが終了するのを待ちます。 これらの子プロセスは、呼び出し側のプログラムで生成されたものでなければならないため、wait は孫プロセス(子プロセスで生成されたプロセス)の終了を待つことはできません。 statloc が NULL でない場合、statloc は、wait が GETEXITCODEPROCESS から返された終了ステータスを格納する場所を指します。
戻り値
子プロセスが正常終了して wait から制御が戻る場合、wait は子プロセスのプロセス ID を返します。
子プロセスが異常終了して wait から制御が戻る場合、wait は親プロセスに -1 を返し、errno を EINTR に設定します。
子プロセスが完了せずに wait から制御が戻る場合、wait は -1 を返し、errno を以下に設定します。
| エラー番号 | 意味 |
|---|---|
|
ECHILD |
子プロセスが存在しない |
例
#include <process.h>
#include <stdio.h>
int spawn_and_wait(wchar_t* program)
{
/* NOWAIT フラグで他のプロセスを発生 */
int pid = _wspawnl(P_NOWAIT, program, NULL);
int exitCode;
/* エラー チェック */
if (pid == -1)
return -1;
/* 他の子プロセスが終了するのを待機 */
wait(&exitCode);
return exitCode;
}
移植性
| POSIX | Win32 | ANSI C | ANSI C++ |
|---|---|---|---|
|
+ |