Provided by: manpages-pl-dev_4.13-4_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), daemon(7), logrotate(8)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  5.10  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 są: Andrzej Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>,   Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.