Provided by: manpages-de-dev_1.11-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(): _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

       The GNU C library implementation of this function was taken from BSD, and does not  employ
       the double-fork technique (i.e., fork(2), setsid(2), fork(2))  that is necessary to ensure
       that the resulting daemon process is not a session leader. Instead, the  resulting  daemon
       is  a  session leader. On systems that follow System V semantics (e.g., Linux), this means
       that if the daemon opens a terminal that is not already a controlling terminal for another
       session,  then  that  terminal  will inadvertently become the controlling terminal for the
       daemon.

SIEHE AUCH

       fork(2), setsid(2)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  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 http://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>.