GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre ejecutar un programa como un demonio y convertirlo en segundo plano con '&'?

¿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.


Linux
  1. ¿Cuál es la diferencia entre InnoDB y MyISAM?

  2. ¿Cuál es la diferencia entre $(cosas) y `cosas`?

  3. ¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

  4. ¿Cuál es la diferencia entre Sudo Su y Sudo Su?

  5. ¿La diferencia entre Getty y Agetty?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre /sbin/nologin y /bin/false?

¿Cuál es la diferencia entre punto y coma y ampersand doble &&?

¿La diferencia entre 'env' y 'printenv'?

La diferencia entre fork(), vfork(), exec() y clone()

¿Cuál es la diferencia entre unlink y rm?