proc_open で開かれたプロセスに関する情報を取得する

# proc_get_status

(PHP 5, PHP 7, PHP 8)

proc_get_status — proc_open() で開かれたプロセスに関する情報を取得する

### 説明

function proc_get_status(resource `$process`): array

proc_get_status() は、proc_open() で開かれたプロセスに関する情報を取得します。

### パラメータ

`process`

  評価される proc_open() resource

### 戻り値

集められた情報を array として返します。 返される配列は次のような要素を持ちます:

要素 | 型 | 説明
--- | --- | ---
command | string | proc_open() に指定されたコマンド文字列。
pid | int | プロセス ID
running | bool | もしプロセスがまだ動いている場合は、`true` 、すでに終了している場合は `false`。
signaled | bool | 子プロセスが、キャッチされていないシグナルにより終了した場合に `true` となります。Windows では常に `false` にセットされます。
stopped | bool | 子プロセスが、シグナルにより停止した時に `true` となります。 Windows では常に `false` にセットされます。
exitcode | int | プロセスが返した終了コード (`running` が `false` の時のみ意味を持ちます)。 PHP 8.3.0 より前のバージョンでは、 正しい値を返すのは関数を最初にコールした時のみで、次に コールした際には `-1` を返していました。
cached | bool | PHP 8.3.0 以降、終了コードがキャッシュされた場合に `true` を返します。 キャッシュは、この関数を後にコールした場合でも、 終了コードを失わないようにするために必要です。
termsig | int | プロセスを終了させたシグナルの番号です (`signaled` が `true` の時のみ意味を持ちます)。
stopsig | int | プロセスを停止させたシグナルの番号です (`stopped` が `true` の時のみ意味を持ちます)。

### 変更履歴

バージョン | 説明
--- | ---
8.3.0 | 返される配列に `"cached"` エントリが含まれるようになりました。 PHP 8.3.0 より前のバージョンでは、 最初にこの関数がコールされた場合にのみ、 正しい終了コードを返していました。 `"cached"` エントリは、 終了コードがキャッシュされていることを示します。

### 参考

- proc_open() - コマンドを実行し、入出力用にファイルポインタを開く

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open