Visión general

En informática, un daemon es un programa informático diseñado para ejecutarse en segundo plano y proporcionar servicios continuos al sistema o a otros procesos. Los demonios son habituales en entornos multitarea como Unix y sistemas similares; suelen iniciarse durante el arranque y permanecer activos hasta el apagado o reinicio.

Características y funcionamiento

Algunas propiedades comunes de los demonios son: arranque automático (por el gestor de inicio), ausencia de interfaz interactiva, y ejecución desacoplada de la sesión del usuario. Tradicionalmente se «desvinculan» de la terminal mediante técnicas como bifurcarse (fork), crear una nueva sesión (setsid), cambiar el directorio de trabajo y cerrar descriptores de archivos. Los nombres de muchos demonios acaban en "d" (por ejemplo, httpd, sshd, syslogd), lo que facilita identificarlos en listados de procesos.

Historia y nomenclatura

El término daemon proviene del concepto de un agente auxiliar que trabaja en silencio: fue adoptado en la tradición Unix para describir procesos de servicio. Con el tiempo se han desarrollado diferentes sistemas de gestión de demonios —como los esquemas clásicos de init, los manejadores supervisores y soluciones modernas como systemd o launchd— que automatizan su arranque, supervisión y parada.

Usos y ejemplos

  • Servicios de red: servidores web (httpd), servidores SSH (SSH daemon) y servidores de correo.
  • Servicios del sistema: registro de eventos (syslogd), programación de tareas (cron), y demonios de almacenamiento o impresión.
  • Supervisión y orquestación: procesos que reinician o monitorizan otros demonios para garantizar disponibilidad.

Distinciones y aspectos prácticos

Aunque en lenguaje común se usan indistintamente los términos "daemon" y "servicio", algunos entornos diferencian la implementación (programa) de la unidad administrada por el gestor de inicio. En sistemas no Unix, como Windows, la entidad equivalente suele llamarse "servicio". Para administrar demonios se emplean comandos y herramientas específicas (por ejemplo, systemctl, service o listados con ps) y sus archivos de configuración determinan puertos, permisos y comportamiento al arrancar.

Seguridad y buenas prácticas

Los demonios suelen ejecutarse con privilegios mínimos necesarios y en entornos controlados para reducir el riesgo de explotación. Es buena práctica revisar registros, limitar accesos, aplicar actualizaciones y, cuando sea posible, usar mecanismos de aislamiento (cgroups, contenedores, sandboxes) para minimizar el impacto de fallos o vulnerabilidades.

Para más información general sobre sistemas y procesos consulte la documentación del sistema o recursos técnicos específicos: sistemas operativos.