NAZWA
getpid, getppid - pobranie identyfikatora procesu
SKŁADNIA
#include
<sys/types.h>
#include <unistd.h>
pid_t
getpid(void);
pid_t getppid(void);
OPIS
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.
BŁĘDY
Funkcje te zawsze kończą się pomyślnie.
ZGODNE Z
POSIX.1-2001, POSIX.1-2008, 4.3BSD, SVr4.
UWAGI
Jeśli rodzic wywołującego jest w innej przestrzeni nazw PID (zob. pid_namespaces(7)), getppid() zwraca 0.
Różnice
biblioteki C/jądra
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.
ZOBACZ TAKŻE
clone(2), fork(2), kill(2), exec(3), mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3), credentials(7), pid_namespaces(7)
O STRONIE
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/.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <pborys [AT] dione.pl>, Robert Luberda <robert [AT] debian.org> i Michał Kułach <michal.kulach [AT] 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.