Gestión de Daemons

Identificación de Procesos del Sistema Iniciados Automáticamente

Objetivo

Enumerar los daemons y servicios de red iniciados por systemd, incluyendo unidades service y socket.

¿Qué es systemd y qué hace?

systemd es el primer proceso que se inicia en Linux (PID 1). Se encarga de:

  • Iniciar servicios y procesos durante el arranque.
  • Gestionar servicios en ejecución.
  • Coordinar recursos y dependencias.

Ventajas:

  • Inicio paralelo de servicios → arranque más rápido.
  • Activación on-demand mediante sockets o eventos.
  • Gestión automática de dependencias.
  • Seguimiento mediante cgroups.

Unidades de systemd

Una unidad (unit) es cualquier recurso que systemd puede manejar. Cada unidad tiene un tipo y una extensión.

Tipos Comunes:

Tipo de UnidadExtensiónDescripción
Servicio.serviceDaemon de sistema (ej: sshd)
Socket.socketPermite activar servicios bajo demanda
Path.pathActiva servicios al detectar cambios en rutas

Ejemplos de Servicios Activos

systemctl list-units --type=service

Muestra servicios cargados y activos. Columnas:

  • UNIT: nombre del servicio (sshd.service)
  • LOAD: si la unidad está cargada
  • ACTIVE: estado general (activo/inactivo)
  • SUB: estado específico (running, exited…)
  • DESCRIPTION: breve explicación

Para ver todos, incluso inactivos:

systemctl list-units --type=service --all

Para ver todas las unidades instaladas:

systemctl list-unit-files --type=service

Estados de Servicio

EstadoSignificado
active (running)Servicio ejecutándose
active (exited)Servicio oneshot, ya terminó
inactiveNo está activo
enabledSe inicia al arrancar
disabledNo se inicia automáticamente
staticSolo inicia si lo llama otro servicio
failedFalló al arrancar

Verificar Servicios Específicos

systemctl status sshd.service

Muestra:

  • PID principal
  • Memoria y CPU usadas
  • Registros recientes del servicio
systemctl is-active sshd.service

→ Verifica si está corriendo

systemctl is-enabled sshd.service

→ Verifica si inicia automáticamente

systemctl is-failed sshd.service

→ Muestra si falló en el arranque

systemctl --failed --type=service

→ Lista servicios que fallaron


Ejemplo Práctico

Ver estado y configuración del demonio sshd (servidor SSH):

systemctl status sshd.service
systemctl is-active sshd.service
systemctl is-enabled sshd.service
systemctl is-failed sshd.service