daemon(3) Library Functions Manual daemon(3) BEZEICHNUNG daemon - im Hintergrund ausfuhren BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include int daemon(int nochdir, int noclose); 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 einschliesslich Glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) BESCHREIBUNG Die Funktion daemon() gibt einem Programm die Moglichkeit, 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 unverandert. Wenn noclose gleich Null ist, leitet daemon() die Standardausgabe, die Standardeingabe und die Fehlerausgabe nach /dev/null um; anderenfalls werden keine Anderungen an den Dateideskriptoren vorgenommen. RUCKGABEWERT (Diese Funktion ruft fork(2) auf. Wenn der Aufruf erfolgreich ist, ruft der Elternprozess _exit(2) auf, so dass nur der Kindprozess uber weitere Fehler informiert wird.) Bei Erfolg gibt daemon() Null zuruck. Wenn ein Fehler auftritt, gibt daemon() -1 zuruck und setzt errno auf einen fur fork(2) und setsid(2) beschriebenen Wert. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |daemon() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ VERSIONEN Eine ahnliche Funktion erscheint in den BSDs. Die Glibc-Implementierung kann auch -1 zuruckgeben, wenn /dev/null existiert, aber kein zeichenorientiertes Gerat 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 fur den Daemon wird, falls der Daemon dieses Terminal offnet, welches nicht bereits ein steuerndes Terminal fur eine andere Sitzung ist. SIEHE AUCH fork(2), setsid(2), daemon(7), logrotate(8) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Dennis Stampfer , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 daemon(3)