Un servicio en Linux es una funcionalidad o tarea específica que se ejecuta en segundo plano para proporcionar soporte continuo o recursos a otras aplicaciones, al sistema operativo, o directamente a los usuarios. Los servicios suelen ser administrados por un administrador de servicios como systemd, init, o upstart, dependiendo de la distribución de Linux.
Te dejamos una guía para dominar systemctl por aquí.
Características de un servicio
- Ejecución en segundo plano:
- Como los daemons, los servicios generalmente no requieren interacción directa del usuario y se ejecutan sin interfaz gráfica.
- Persistencia:
- Un servicio puede configurarse para iniciarse automáticamente al arrancar el sistema y ejecutarse continuamente hasta que se detenga.
- Propósito específico:
- Los servicios suelen estar diseñados para realizar tareas específicas, como:
- Administrar conexiones remotas (sshd).
- Servir contenido web (httpd o nginx).
- Manejar registros del sistema (rsyslog).
- Los servicios suelen estar diseñados para realizar tareas específicas, como:
- Controlado por un gestor de servicios:
- En sistemas modernos, los servicios son administrados principalmente por systemd, que proporciona una forma uniforme de iniciar, detener y supervisar servicios.
Ejemplos comunes de servicios en Linux
Servicio | Descripción |
---|---|
sshd | Maneja conexiones remotas seguras mediante SSH. |
httpd / nginx | Proveen servicios web (HTTP/HTTPS). |
mysqld | Administra bases de datos MySQL o MariaDB. |
crond | Ejecuta tareas programadas en el sistema. |
network | Configura y gestiona las interfaces de red. |
firewalld | Gestiona reglas del firewall dinámicamente. |
cups | Proporciona servicios de impresión. |
Diferencia entre un servicio y un daemon
- Daemon:
- Es un proceso que se ejecuta en segundo plano y a menudo es parte de un servicio.
- Un daemon puede ser iniciado directamente o como parte de un servicio.
- Servicio:
- Es una funcionalidad más amplia que incluye la gestión de uno o varios procesos (normalmente daemons) y su integración con el sistema.
- Los servicios están configurados y gestionados por administradores de servicios como systemd.
Ejemplo:
- El servicio SSH es gestionado por systemd y utiliza el daemon sshd para funcionar.
Interactuar con administradores de servicios en Linux
- Systemd
- Es el mas moderno y frecuente
- Ejemplo para iniciar un servicio:
sudo systemctl start service
- SysVinit:
- Usado en sistemas más antiguos.
- Ejemplo para iniciar un servicio:
sudo service servicio start
- Upstart:
- Usado en versiones anteriores de Ubuntu.
- Ejemplo para iniciar un servicio:
sudo initctl start servicio