¿Debería ejecutar programas explícitamente en primer plano (en lugar de como un demonio) o "esperar una bifurcación" al configurar demonios advenedizos?

¿Debería ejecutar programas explícitamente en primer plano (en lugar de como un demonio) o "esperar una bifurcación" al configurar demonios advenedizos?

Muchos programas permiten ejecutarse en modo demonio (que suele ser el predeterminado) o ejecutarlo explícitamente en primer plano con una bandera como -f.

Ahora, cuando configuro advenedizo para ejecutar programas como este, puedo hacer

exec foo -f # run in foreground

o

expect fork
exec foo # automatically runs as a daemon

¿Hay alguna razón para elegir uno sobre el otro? Parece que es más fácil ejecutar todo en primer plano y dejar que el advenedizo se encargue de los procesos, pero ¿hay alguna desventaja en eso?

Respuesta1

Prefiero ejecutar las cosas en primer plano; evita cualquier complicación que pueda surgir del proceso de demonización (como que un advenedizo pierda la pista del proceso de demonio de larga duración). La única excepción a esto es una pequeña minoría de programas diabólicos que tienen la desagradable costumbre de interpretar "ejecútelo en primer plano" como "ejecútelo en algún tipo de modo de depuración de bajo rendimiento" y hacen algo tonto como ejecutar solo un hilo. , o no generar niños trabajadores, o algo así.

información relacionada