Provided by: manpages-de-dev_2.16-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 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.03  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>.