daemon(3) ejecución en segundo plano

SINOPSIS

#include <unistd.h>

int daemon(int nochdir, int noclose);

DESCRIPCIÓN

La función daemon() es utilizada por programas que desean desvincularse de la terminal de control y correr en segundo plano como demonios de sistema.

A menos que el argumento nochdir sea distinto de cero, daemon() cambia el directorio de trabajo actual al directorio raiz ("/").

A menos que el argumento noclose sea distinto de cero, daemon() redirigirá la entrada estándar, salida estándar y salida estándar de error a /dev/null.

VALOR DEVUELTO

(Esta función se bifurca, y si la llamada a fork() tiene éxito, el padre hace _exit(0), por lo que los errores posteriores son vistos sólo por el hijo.) En caso de éxito se devolverá cero. Si ocurre un error, daemon() devuelve -1 y asigna a la variable global errno cualquiera de los códigos de error especificados para las funciones de biblioteca fork(2) y setsid(2).

OBSERVACIONES

La implementación de glibc puede devolver también -1 cuando /dev/null existe pero no es un dispositivo de caracteres con los números mayor y menor esperados. En este caso errno no necesita ser modificado.

HISTORIA

La función daemon() apareció por primera vez en BSD4.4.