Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       getpid, getppid - プロセス ID を得る

書式

       #include <sys/types.h>
       #include <unistd.h>

       pid_t getpid(void);
       pid_t getppid(void);

説明

       getpid()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファイル名として 他と
       重ならない名前を生成するルーチンでしばしば使用される。)

       getppid()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。

エラー

       これらの関数は常に成功する。

準拠

       POSIX.1-2001, 4.3BSD, SVr4.

注意

       glibc バージョン 2.3.4 以降では、 glibc の getpid()  のラッパー関数は  PID  をキャッシュす
       る。 これは、プロセスが繰り返し getpid()  を呼び出した場合にその都度システムコールを呼ぶの
       を避けるためである。 通常は、このキャッシュ処理が見えることはないが、 キャッシュ処理が正し
       く働くためには  fork(2), vfork(2), clone(2)  のラッパー関数でのサポートが必要である。 アプ
       リケーションがこれらのシステムコールを呼び出す際に、   glibc    のラッパー関数を経由せずに
       syscall(2)  を使った場合には、子プロセスで getpid() を呼び出すと間違った値が返ることだろう
       (正確にいうと、親プロセスの PID が返される)。 clone(2)  を glibc  のラッパー関数経由で起動
       した際にも  getpid()  が間違った値を返す場合があり、これに関する議論は clone(2) も参照して
       ほしい。

関連項目

       clone(2),  fork(2),  kill(2),  exec(3),  mkstemp(3),  tempnam(3),  tmpfile(3),  tmpnam(3),
       credentials(7), pid_namespaces(7)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。