DOKK / manpages / debian 10 / manpages-pl-dev / getpid.2.pl
GETPID(2) Podręcznik programisty Linuksa GETPID(2)

getpid, getppid - pobranie identyfikatora procesu

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

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

getpid() zwraca identyfikator procesu wywołującego. (Jest to często wykorzystywane przez funkcje generujące unikatowe nazwy plików tymczasowych).

getppid() zwraca identyfikator procesu rodzica procesu wywołującego.

Funkcje te zawsze kończą się pomyślnie.

POSIX.1-2001, POSIX.1-2008, 4.3BSD, SVr4.

Jeśli rodzic wywołującego jest w innej przestrzeni nazw PID (zob. pid_namespaces(7)), getppid() zwraca 0.

Od wersji 2.3.4 biblioteki glibc funkcja opakowująca dla getpid() cache'uje identyfikatory procesów, aby uniknąć dodatkowych wywołań systemowych, jeśli proces powtarza wywołania getpid(). Normalnie jest to niewidoczne, ale poprawne działanie tego mechanizmu zależy od wsparcia w funkcjach opakowujących fork(2), vfork(2) i clone(2): jeżeli aplikacja omija funkcje opakowujące biblioteki glibc, używając syscall(2), to getpid() w procesie potomnym zwróci niepoprawną wartość (a dokładniej: zwróci identyfikator procesu rodzica). Patrz także clone(2), zawierający opis przypadku, w którym getpid() może zwrócić niepoprawną wartość, nawet jeżeli clone(2) uruchomiono poprzez funkcję opakowującą biblioteki glibc.

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

Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.

2015-07-23 Linux