Provided by: manpages-pl-dev_0.7-1_all 

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).
┌───────────┬────────────────────────┬─────────┐
│ Interfejs │ Atrybut │ Wartość │
├───────────┼────────────────────────┼─────────┤
│ 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.
GNU 2016-03-15 DAEMON(3)