Provided by: manpages-de-dev_4.26.0-1_all bug

BEZEICHNUNG

       daemon - im Hintergrund ausführen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <unistd.h>

       int daemon(int nichtchdir, int nichtclose);

   Mit Glibc erforderliche Feature-Test-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 nichtchdir gleich  Null  ist,  macht  daemon()  das  Wurzelverzeichnis  (»/«,  root  directory)  zum
       Arbeitsverzeichnis des Prozesses; anderenfalls bleibt das Arbeitsverzeichnis unverändert.

       Wenn  nichtclose  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-Sicher │
       └───────────────────────────────────────────────────────────────────┴───────────────────────┴───────────┘

VERSIONEN

       Eine ähnliche Funktion erscheint in den BSDs.

       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.

STANDARDS

       Keine.

GESCHICHTE

       4.4BSD.

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)

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser Handbuchseite wurde von Dennis Stampfer <kontakt@dstampfer.de>, Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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.

Linux man-pages 6.9.1                              2. Mai 2024                                         daemon(3)