Provided by: manpages-pl-dev_0.7-2_all bug

NAZWA

       daemon - uruchamianie w tle

SKŁADNIA

       #include <unistd.h>

       int daemon(int nochdir, int noclose);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       daemon():
           Od glibc 2.21:
               _DEFAULT_SOURCE
           W glibc 2.19 i 2.20:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           Do glibc 2.19 włącznie:
               _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

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌──────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├──────────┼────────────────────────┼─────────┤
       │daemon()  │ Bezpieczeństwo wątkowe │ MT-Safe │
       └──────────┴────────────────────────┴─────────┘

ZGODNE Z

       Funkcja  nie  występuje  w  POSIX.1.  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.

BŁĘDY

       Implementacja biblioteki C GNU dla tej funkcji została zapożyczona z BSD i nie korzysta  z
       techniki   podwójnego  rozwidlania  (tzn.  fork(2),  setsid(2),  fork(2))  koniecznej  dla
       zapewnienia, że wynikowy proces demona nie jest  liderem  sesji.  Zamiast  tego,  wynikowy
       demon  jest  liderem  sesji. W systemach korzystających z semantyki Systemu V (np. Linux),
       oznacza to, że gdy demon otwiera terminal który nie jest jeszcze kontrolującym  terminalem
       dla innej sesji, to ten terminal po cichu zostanie kontrolującym terminalem dla demona.

ZOBACZ TAKŻE

       fork(2), setsid(2)

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