En Linux, un demonio es un proceso que se ejecuta en segundo plano sin intervención directa del usuario. Los daemons forman parte del sistema operativo y proporcionan una serie de funciones como servicios de red, servicios de disco, servicios de impresión, etc.
Suelen ejecutarse al iniciarse el sistema y permanecen activos en segundo plano hasta que se apaga el sistema. No tienen interfaz de usuario directa y suelen gestionarse mediante archivos de configuración o comandos de línea de comandos.
Los demonios de Linux suelen tener un nombre que termina en "d", como httpd, named y sshd. Se inician mediante comandos especiales como systemctl
, service
o daemon
. Son una parte importante del sistema operativo Linux, ya que garantizan que varios servicios y aplicaciones funcionen y se ejecuten en segundo plano.
Los daemons en Linux pueden iniciarse de varias maneras. Veamos los métodos más comunes para iniciarlos.
El comando service
puede utilizarse para iniciar, detener y reiniciar demonios en sistemas Linux que utilizan scripts init. Por ejemplo, para iniciar el demonio Apache HTTP Server, ejecute el siguiente comando:
sudo service apache2 start
El comando systemctl
se utiliza para gestionar demonios en sistemas Linux que utilizan systemd
. Por ejemplo, para iniciar el demonio SSH, debe ejecutar el siguiente comando:
sudo systemctl start sshd
En algunas distribuciones de Linux, los demonios pueden iniciarse mediante scripts init, que se encuentran en el directorio /etc/init.d
. Por ejemplo, para iniciar el demonio MySQL, necesita ejecutar el siguiente comando:
sudo /etc/init.d/mysql start
En los sistemas Linux que utilizan systemd
, se recomienda utilizar archivos de unidad para ejecutar demonios. Los archivos de unidad son archivos de texto que contienen una descripción del servicio o proceso a iniciar en el sistema. Especifican los parámetros para iniciar el demonio, como usuario, grupo, directorio de trabajo, comando de inicio y otras opciones.
Los ficheros unitarios se almacenan en el directorio /etc/systemd/system/
. En este directorio, puedes crear tus propios archivos de unidad o modificar los existentes. Después de crear o modificar un archivo de unidad, debe reiniciar systemd
utilizando el comando systemctl daemon-reload
para que los cambios surtan efecto.