Cómo listar servicios en Linux con SYSTEMCTL

Lazy Placeholder

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.