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.