Provided by: manpages-de-dev_4.13-4_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 steuernden 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  5.10  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  die
       Mailingliste der Übersetzer.

GNU                                             26. November 2017                                      DAEMON(3)