Proceso Daemon
Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution MONitor), es un tipo especial de proceso informático no interactivo, es decir, que se ejecuta en
segundo plano en vez de ser controlado directamente por el usuario. Este tipo
de programas se ejecutan de forma continua (infinita), vale decir, que aunque
se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará
automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna.
- Características
Los demonios suelen tener las siguientes características:
§ No disponen de una
"interfaz" directa con el usuario, ya sea gráfica o textual.
§ No hacen uso de la entradas y
salidas estándar para comunicar errores o registrar su funcionamiento, sino que
usan archivos del sistema en zonas especiales (/var/log/ en los UNIX más modernos) o utilizan otros demonios especializados en dicho registro
como el syslogd.
Por ejemplo, una máquina que alberga un servidor web utilizará un demonio
httpd (HTTP Daemon) para ofrecer el servicio y
que los visitantes a dicha web puedan acceder. Otro ejemplo son los demonios "cronológicos" como cron, que realizan tareas programadas como mantenimiento
del sistema en segundo plano.
Proceso Zombie
En sistemas operativos Unix, un proceso zombie o
"defunct" (difunto) es un proceso que ha completado su ejecución pero
aún tiene una entrada en la tabla de procesos, permitiendo al proceso que lo ha
creado leer el estado de su salida. Metafóricamente, el proceso hijo ha muerto
pero su "alma" aún no ha sido recogida.
Cuando un proceso acaba, toda su
memoria y recursos asociados a él se desreferencian, para que puedan ser usados
por otros procesos. De todas formas, la entrada del proceso en la tabla de
procesos aún permanece. Al padre se le envía una señal SIGCHLD indicando que el
proceso ha muerto; el manejador para esta señal será típicamente ejecutar la
llamada al sistema wait, que lee el estado de salida y borra al zombie. El ID
del proceso zombie y la entrada en la tabla de procesos pueden volver a usarse.