Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

       daemon - im Hintergrund ausführen

ÜBERSICHT

       #include <unistd.h>

       int daemon(int nochdir, int noclose);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       daemon():
           Seit Glibc 2.21:
               _DEFAULT_SOURCE
           In Glibc 2.19 und 2.20:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           Bis einschließlich Glibc 2.19:
               _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

BESCHREIBUNG

       Die  Funktion  daemon()  gibt einem Programm die Möglichkeit, sich selbst vom Terminal in den Hintergrund
       zu setzen und dort weiter als System-Daemon zu laufen.

       Wenn  nochdir  gleich  Null  ist,  macht  daemon()  das  Wurzelverzeichnis  (»/«,  root  directory)   zum
       Arbeitsverzeichnis des Prozesses; anderenfalls bleibt das Arbeitsverzeichnis unverändert.

       Wenn  noclose  gleich  Null  ist,  leitet  daemon()  die  Standardausgabe,  die  Standardeingabe  und die
       Fehlerausgabe  nach  /dev/null  um;  anderenfalls  werden  keine  Änderungen  an  den   Dateideskriptoren
       vorgenommen.

RÜCKGABEWERT

       (Diese  Funktion  ruft fork(2) auf. Wenn der Aufruf erfolgreich ist, ruft der Elternprozess _exit(2) auf,
       so dass nur der Kindprozess über weitere Fehler informiert wird.) Bei Erfolg gibt daemon()  Null  zurück.
       Wenn  ein  Fehler  auftritt,  gibt daemon() -1 zurück und setzt errno auf einen für fork(2) und setsid(2)
       beschriebenen Wert.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌──────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├──────────────┼───────────────────────┼─────────┤
       │daemon()      │ Multithread-Fähigkeit │ MT-Safe │
       └──────────────┴───────────────────────┴─────────┘

KONFORM ZU

       Nicht in POSIX.1. Eine ähnliche Funktion kommt in den BSDs vor. Die daemon()-Funktion  erschien  erstmals
       in 4.4BSD.

ANMERKUNGEN

       Die   Glibc-Implementierung   kann   auch   -1   zurückgeben,   wenn   /dev/null   existiert,  aber  kein
       zeichenorientiertes Gerät ist und die Haupt- und Nebennummern (major/minor numbers) abweichen.

FEHLER

       Die  GNU-C-Bibliotheksimplementierung  dieser  Funktion   entstammt   BSD   und   verwendet   nicht   die
       Zweifach-Fork-Technik (d.h. fork(2), setsid(2), fork(2)), die notwendig ist, um sicherzustellen, dass der
       entstandene Daemon kein Sitzungsleiter ist. Der entstandene Daemon ist ein Sitzungsleiter. Auf  Systemen,
       die  der  System-V-Semantik  gehorchen  (z.B.  Linux) bedeutet diese, dass ein Terminal unabsichtlich das
       steuernde Terminal für den Daemon wird, falls der Daemon dieses Terminal öffnet,  welches  nicht  bereits
       ein steuerndes Terminal für eine andere Sitzung ist.

SIEHE AUCH

       fork(2), setsid(2), daemon(7), logrotate(8)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.15  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Dennis Stampfer <kontakt@dstampfer.de> und Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.