¿Cuáles son las diferencias prácticas desde el punto de vista de un administrador de sistemas cuando se implementan servicios en un sistema basado en Unix?
Respuesta aceptada:
La forma tradicional de demonizar es:
fork()
setsid()
close(0) /* and /dev/null as fd 0, 1 and 2 */
close(1)
close(2)
fork()
Esto asegura que el proceso ya no esté en el mismo grupo de procesos que el terminal y, por lo tanto, no se eliminará junto con él. La redirección de IO es para que la salida no aparezca en el terminal.