table of contents
other sections
DAEMON(3) | Podręcznik programisty Linuksa | DAEMON(3) |
NAZWA¶
daemon - uruchamianie w tleSKŁADNIA¶
#include <unistd.h> int daemon(int nochdir, int noclose);Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
daemon(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
OPIS¶
Funkcja daemon() jest przeznaczona dla programów, które chcą odłączyć się od sterującego nimi terminala i działać w tle jako demony systemowe. Jeśli argument nochdir będzie zerem, to daemon() zmieni bieżący katalog roboczy na katalog główny ("/"). W przeciwnym wypadku bieżący katalog roboczy nie jest zmieniany. Jeśli argument noclose będzie zerem, to daemon() przekieruje standardowe wejście, standardowe wyjście i standardową diagnostykę do /dev/null. W przeciwnym wypadku podane deskryptory plików nie są zmieniane.WARTOŚĆ ZWRACANA¶
(Ta funkcja rozwidla się i jeśli fork(2) się powiedzie, rodzic wykonuje _exit(2), tak, że dalsze błędy są widziane tylko przez potomka). W przypadku pomyślnego zakończenia, zwracane jest zero Jeśli wystąpi błąd, daemon() zwróci -1 i ustawi errno na jeden z błędów określonych dla fork(2) i setsid(2).ATRYBUTY¶
Wielowątkowość (patrz pthreads(7))¶
Funkcja daemon() jest wątkowo bezpieczna.ZGODNE Z¶
Funkcja nie występuje w POSIX.1-2001. Podobna funkcja pojawia się w systemach BSD. Funkcja daemon() po raz pierwszy pojawiła się w 4.4BSD.UWAGI¶
Implementacja w glibc może również zwrócić -1 gdy /dev/null istnieje, ale nie jest urządzeniem znakowym o oczekiwanych numerach głównym i pobocznym. W tym przypadku nie ma potrzeby ustawiania errno.ZOBACZ TAKŻE¶
fork(2), setsid(2)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ą: Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.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ą 3.71 oryginału.2013-10-28 | GNU |