GETPID(2)

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, 4.3BSD, SVr4.

UWAGI
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)

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

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <pborys@dione.ids.pl> i Robert Luberda <robert@debian.org>.

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ą 3.71 oryginału.