table of contents
other versions
- jessie 1.8-1
- stretch 1.22-1
- testing 2.12-1
- stretch-backports 2.11-1~bpo9+2
- unstable 2.12-1
other sections
DAEMON(3) | Linux-Programmierhandbuch | DAEMON(3) |
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 aufrufenden 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¶
Multithreading (siehe pthreads(7))¶
Die Funktion daemon() ist multithread-fähig.KONFORM ZU¶
Nicht in POSIX.1-2001. 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.SIEHE AUCH¶
fork(2), setsid(2)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.74 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>.28. Oktober 2013 | GNU |