GETPID
Section: Linux Programmer's Manual (2)
Updated: 2014-09-21
Index
JM Home Page
roff page
名前
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/ に書かれている。
Index
- 名前
-
- 書式
-
- 説明
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:41 GMT, November 24, 2023