Cómo enumerar todos los servicios en ejecución en Systemd en Linux

Cómo enumerar todos los servicios en ejecución en Systemd en Linux

Los sistemas Linux proporcionan una variedad de servicios del sistema (como gestión de procesos, inicio de sesión. syslog, cron, etc.) y servicios de red (como inicio de sesión remoto, correo electrónico, impresoras, web hosting, almacenamiento de datos, transferencia de archivos, resolución de nombres de dominio (usando DNS), asignación dinámica de direcciones IP (usando DHCP) y mucho más).

Técnicamente, un servicio es un proceso o grupo de procesos (comúnmente conocidos como demonios. que se ejecutan continuamente en segundo plano, esperando que lleguen las solicitudes (especialmente de los clientes).

Linux admite diferentes formas de administrar (iniciar, detener, reiniciar, habilitar inicio automático en el inicio del sistema, etc.), generalmente a través de un administrador de procesos o servicios. La mayoría, si no todas, las distribuciones modernas de Linux ahora usan el mismo administrador de procesos: systemd.

Lea también. La historia detrás de ‘init’ y ‘systemd’ : Por qué es necesario reemplazar ‘init’ por ‘systemd’ en Linux

Systemd. es un administrador de sistemas y servicios para Linux; un reemplazo directo para el proceso init. que es compatible con los scripts de inicio SysV. y LSB. y el comando systemctl es la herramienta principal para administrar systemd.

freestar.config.enabled_slots.push

En esta guía, demostraremos cómo enumerar todos ejecutando servicios bajo systemd. en Linux.

Listado de servicios en ejecución bajo SystemD en Linux

Cuando ejecuta el comando systemctl. sin ningún argumentos, mostrará una lista de todas las unidades systemd cargadas (lea la documentación de systemd para obtener más información sobre las unidades systemd), incluidos los servicios, mostrando su estado (ya sea activo o no).

# systemctl

Para enumerar todas las unidades cargadas servicios en su sistema (ya sea activo, en ejecución, salido o fallado, use el subcomando list-units. y el modificador–type con un valor de servicio.

# systemctl list-un su–type = service O # systemctl–type = service  Lista de todos los servicios en Systemd  Lista de todos los servicios bajo Systemd Listar todos los servicios en Systemd

Y para enumerar todos los servicios cargados pero activos, tanto en ejecución como los que han salido, puede agregar el–state opción con un valor de activo. como sigue.

# systemctl list-units–type = service–state = active OR # systemctl–type = service–state = active  Lista de todos los servicios activos en ejecución en Systemd Lista de todos los servicios activos en ejecución en Systemd Lista de todos los servicios activos en ejecución en Systemd

Pero para obtener un vistazo rápido de todos los servicios en ejecución (es decir, todos los servicios cargados y en ejecución activa), ejecute el siguiente comando.

# systemctl list-units–type = service–state = running O # systemctl–type = service–state = running  Lista de servicios en ejecución en Systemd  Lista de servicios en ejecución en Systemd Lista de servicios en ejecución en Systemd

Si con frecuencia use el comando anterior, puede crear un comando de alias en su archivo ~/.bashrc. como se muestra, para invocarlo fácilmente.

# vim ~/.bashrc

Luego agregue lo siguiente línea debajo de la lista de alias como se muestra en la captura de pantalla.

alias running_services = ‘systemctl list-units–type = service–state = running’  Crear un alias para el comando largo  Crear un alias para el comando largo Cre comió un alias para el comando largo

Guarde los cambios en el archivo y ciérrelo. Y de ahora en adelante, use el comando “ running_services. para ver una lista de todos los servicios cargados y que se ejecutan activamente en su servidor.

# running_services #use la finalización de la pestaña  Ver todos los servicios en ejecución Ver todos los servicios en ejecución Ver todos los servicios en ejecución

Además, un aspecto importante de los servicios es el puerto que utilizan. Para determinar el puerto en el que está escuchando un proceso daemon, puede usar las herramientas netstat o ss. como se muestra.

Donde la bandera-l significa imprimir todos los sockets de escucha,-t muestra todas las conexiones TCP,-u muestra todas las conexiones UDP,-n significa imprimir números de puerto numéricos (en lugar de nombres de aplicaciones) y-p significa mostrar el nombre de la aplicación.

# netstat-ltup | grep zabbix_agentd O # ss-ltup | grep zabbix_agentd

La quinta columna muestra el conector: Dirección local: Puerto. En este caso, el proceso zabbix_agentd. está escuchando en el puerto 10050.

 Determine el puerto de proceso  Determine Process Port Determinar el puerto de proceso

Además, si su servidor tiene un servicio de firewall en ejecución, que controla cómo bloquear o permitir el tráfico hacia o desde los servicios o puertos seleccionados, usted puede enumerar los servicios o puertos que se han abierto en el firewall, usando el comando firewall-cmd. o ufw (dependiendo de las distribuciones de Linux que esté usando) como se muestra.

# firewall-cmd–list-services [FirewallD] # firewall-cmd–list-ports $ sudo ufw status [UFW Firewall] Listar servicios abiertos y puertos en el firewall  Opción de lista es Servicios y puertos en el firewall Listar servicios abiertos y puertos en el firewall

¡Eso es todo por ahora! En esta guía, demostramos cómo ver los servicios en ejecución en systemd. en Linux. También cubrimos cómo verificar el puerto en el que está escuchando un servicio y cómo ver los servicios o puertos abiertos en el firewall del sistema. ¿Tiene algunas adiciones que hacer o preguntas? Si es así, comuníquese con nosotros utilizando el formulario de comentarios a continuación.