Provided by: manpages-de-dev_1.11-1_all
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. ┌──────────────┬───────────────────────┬─────────┐ │Schnittstelle │ Attribut │ Wert │ ├──────────────┼───────────────────────┼─────────┤ │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>.