En la mayoría de distribuciones modernas de Linux, systemd es el encargado de iniciar y gestionar los servicios del sistema.
Para interactuar con él usamos systemctl, una herramienta muy versátil que te permite ver qué servicios están corriendo, cuáles fallaron y cómo se comporta cada uno.
En este artículo aprenderás cómo listar y explorar servicios en Linux.
¿Qué son los Servicios y Daemons?
Los servicios o daemons son procesos en segundo plano que se ejecutan sin necesidad de intervención del usuario.
Por ejemplo: el servidor SSH (sshd), los gestores de red o el servicio de impresión.
En los sistemas modernos basados en systemd, estos servicios están definidos en unit files que se encuentran en directorios como /usr/lib/systemd/.
Cómo Saber si tu Linux Usa systemd o init
Aunque la mayoría de distribuciones actuales (Ubuntu, Debian, Fedora, Arch, Red Hat, Manjaro, etc.) usan systemd, siempre es mejor comprobarlo.
Puedes hacerlo con:
pstree | head -5
Si en la primera línea aparece systemd, entonces tu sistema está basado en systemd.
Listar de servicios en ejecución
Para ver qué servicios están activos en tu sistema:
systemctl --type=service --state=running
Esto mostrará una tabla con columnas como:
- Unit: nombre del servicio.
- Load: si el servicio está cargado o no.
- Active: estado global (activo, inactivo, fallido, etc.).
- Sub: subestado más detallado (running, exited, dead, etc.).
- Description: breve descripción.
Si quieres filtrar por un servicio concreto, puedes usar grep:
systemctl --type=service --state=running | grep ssh
Ver servicios fallidos
Si algo no funciona como debería, puedes ver servicios fallidos con:
systemctl --type=service --state=failed
También puedes combinar estados:
systemctl --type=service --state=failed,exited
Listar Unit Files instalados
Además de ver los servicios activos, también puedes listar todos los unit files instalados en el sistema:
systemctl list-unit-files
Si quieres enfocarte en los que están habilitados:
systemctl list-unit-files --state=enabled
O ver cuáles están deshabilitados o fallaron:
systemctl list-unit-files --state=disabled,failed
Consultar un servicio en detalle
Cuando quieras profundizar en un servicio, por ejemplo el demonio SSH, puedes usar:
systemctl status sshd
Ahí verás información muy útil como:
- Nombre y descripción del servicio.
- Estado actual (con un punto verde si está activo).
- Ruta al unit file.
- Tiempo en ejecución.
- PID y recursos consumidos (memoria, CPU).
- Logs relevantes del servicio.
La importancia de supervisar servicios
Los servicios son parte fundamental del funcionamiento del sistema operativo.
Revisarlos con systemctl no solo te ayuda a conocer qué está corriendo, sino también a diagnosticar problemas rápidamente cuando algo falla.
Conclusión
Usa systemctl --type=service --state=running para ver servicios en ejecución.
Usa systemctl status nombre_servicio para investigar un servicio en detalle.
Usa systemctl list-unit-files para ver todos los unit files de tu sistema.
Con estos comandos tendrás el control de lo que ocurre “tras bambalinas” en tu Linux.
