0

pclose関数のドキュメントには、pclose()関数の実装方法を示すコードの一部があります。

int pclose(FILE *stream)

{
    int stat;
    pid_t pid;


    pid = <pid for process created for stream by popen()>
    (void) fclose(stream);
    while (waitpid(pid, &stat, 0) == -1) {
        if (errno != EINTR){
            stat = -1;
            break;
        }
    }
    return(stat);
}

だから私は面白いです、彼が「popen()によってストリーム用に作成されたプロセスのpid」を取得するフォーム。この値が保存される場所はありますか?

4

1 に答える 1

2

popen()およびを実装するライブラリが所有する内部状態からpclose()FILEほとんどの場合、(内部)構造のフィールドとして格納されます。

于 2013-03-27T09:46:32.400 に答える