bionic (3) daemon.3.gz

Provided by: manpages-pl-dev_0.7-1_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.