DAEMON(3)

BEZEICHNUNG
daemon - im Hintergrund ausführen

ÜBERSICHT
#include <unistd.h>

int daemon(int nochdir, int noclose);

BESCHREIBUNG
Die Funktion daemon() gibt einem Programm die Möglichkeit, sich selbst vom Terminal in den Hintergrund zu setzen und dort weiter als System-Dämon zu laufen.

daemon() wechselt das aktuelle Arbeitsverzeichnis nach root ("/"), sofern nochdir nicht 0 ist.

daemon() leitet die Standardausgabe, Standardeingabe und die Fehlerausgabe nach /dev/null um, sofern noclose nicht 0 ist.

RÜCKGABEWERT
(Diese Funktion teilt den Prozess und falls fork() erfolgreich ist, führt der Vater ein _exit(0) aus, so dass zukünftige Fehlermeldungen nur vom Kind gesehen werden.) Bei Erfolg wird Null zurückgegeben. Falls ein Fehler auftritt, liefert daemon() -1 zurück und setzt die globale Variable errno zu einem der Fehler, die für die Bibliotheksfunktionen fork(2) und setsid(2) beschrieben werden.

BEMERKUNGEN
Die Implementierung in der glibc kann ebenfalls -1 zurückliefern, wenn /dev/null existiert, jedoch keine zeichenorientierte Spezialdatei mit den erwarteten Major- und Minor-Nummern ist. In diesem Fall muss errno nicht gesetzt werden.

GESCHICHTE
Die Funktion war erstmals in BSD4.4 zu finden.

SIEHE AUCH
fork(2), setsid(2).