SIMPLE SOLUTIONS

GETPID(2) - Linux manual

プロセス ID を得る.

2014-09-21
GETPID(2) Linux Programmer's Manual GETPID(2)

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), cre‐ dentials(7), pid_namespaces(7)

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
Linux 2014-09-21 GETPID(2)
getpid(2).txt (日本語 / Japanese)
Index English version of getpid(2)
Go top