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

Mueve tu manita para hacer una fortuna, ¡dale un pulgar hacia arriba!

El sistema Linux proporciona una variedad de servicios de sistema (como administración de procesos, inicio de sesión, syslog, cron, etc.) y servicios de red (como inicio de sesión remoto, correo electrónico, impresora, host virtual, almacenamiento de datos, transferencia de archivos, resolución de nombres de dominio, etc.) (usando DNS), asignación de dirección IP dinámica (usando DHCP, etc.).

Técnicamente, un servicio es un proceso o grupo de procesos (a menudo llamado daemon) que se ejecuta continuamente en segundo plano, esperando que lleguen solicitudes (especialmente de los clientes).

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

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

En esta guía [1] , demostraremos cómo enumerar todos los servicios en ejecución en systemd en Linux.

Lista de servicios en ejecución bajo SystemD en Linux

Cuando ejecuta el comando systemctl sin ningún argumento, 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 que estén activos o no).

systemctl 
alternativa

Para enumerar todos los servicios cargados en el sistema (ya sea que estén activos, en ejecución, saliendo o fallidos), use el subcomando list-units con el modificador --type con un valor de servicio.

# systemctl list-units --type=service
OR
# systemctl --type=service
alternativa

Para enumerar todos los servicios cargados pero activos, tanto en ejecución como cerrados, puede agregar la opción --state con un valor de activo como se muestra a continuación.

# systemctl list-units --type=service --state=active
OR
# systemctl --type=service --state=active
alternativa

Pero para obtener una descripción general rápida de todos los servicios en ejecución (es decir, todos los servicios cargados y en ejecución), ejecute el siguiente comando.

# systemctl list-units --type=service --state=running 
OR
# systemctl --type=service --state=running
alternativa

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

vim ~/.bashrc

Luego agregue las siguientes líneas debajo de la lista de alias como se muestra en la captura de pantalla.

alias running_services='systemctl list-units  --type=service  --state=running'
alternativa

Guarde los cambios en el archivo y ciérrelo. De ahora en adelante, use el comando "running_services" para ver una lista de todos los servicios cargados y en ejecución en el servidor.

# running_services #use the Tab completion 
alternativa

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

Donde el indicador -l muestra todos los sockets de escucha, -t muestra todas las conexiones TCP, -u muestra todas las conexiones UDP, -n muestra los números de puerto numéricos (en lugar de los nombres de las aplicaciones) y -p muestra los nombres de las aplicaciones.

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

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

alternativa

Además, si su servidor está ejecutando un servicio de firewall que controla cómo se bloquea o permite el tráfico hacia y desde los servicios o puertos seleccionados, puede usar los comandos firewall-cmd o ufw para enumerar los servicios o puertos que se han abierto en el firewall ( dependiendo de la distribución de Linux que esté utilizando), como se muestra.

# firewall-cmd --list-services   [FirewallD]
# firewall-cmd --list-ports

$ sudo ufw status     [UFW Firewall]
alternativa

¡Eso es todo por ahora! En esta guía, demostramos cómo ver los servicios en ejecución bajo systemd en Linux. También cubrimos cómo verificar qué servicios de puerto están escuchando y cómo ver qué servicios o puertos están abiertos en el firewall de su sistema.

Referencia

[1]

Fuente:https://www.tecmint.com/list-all-running-services-under-systemd-in-linux/

Este artículo es publicado por mdnice multiplataforma

Supongo que te gusta

Origin blog.csdn.net/swindler_ice/article/details/131276644
Recomendado
Clasificación