Enumerar todos los servicios en ejecucion en Systemd en Linux

Enumerar todos los servicios en ejecucion 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, alojamiento web, almacenamiento de datos, transferencia de archivos, nombre de dominio resolución (usando DNS), asignación dinámica de dirección 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 solicitudes (especialmente de los clientes).

Linux admite diferentes formas de administrar (iniciar, detener, reiniciar, habilitar el inicio automático al iniciar el sistema, etc.) servicios, 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.

Systemd es un administrador de sistemas y servicios para Linux; una gota en el reemplazo para el inicio del proceso, que es compatible con SysV y LSB scripts de inicio y el comando systemctl es la herramienta principal administre systemd.

Listado 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 unidades systemd), incluidos los servicios, mostrando su estado (ya sea activo o no).

# systemctl

Para enumerar todos los servicios cargados en su sistema (ya sea activo; en ejecución, salido o fallido), use el subcomando list-units y --typecambie con un valor de servicio.

# systemctl list-units --type = servicio

o

# systemctl --type = service

Y para enumerar todos los servicios cargados pero activos, tanto en ejecución como aquellos que han salido, puede agregar la --stateopción con un valor de activo , de la siguiente manera.

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

o

# systemctl --type = service --state = active

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 = en ejecución

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

# vim ~ / .bashrc

Luego agregue la 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'

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 que se ejecutan activamente en su servidor.

# running_services #utiliza la finalización de la pestaña

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

Donde el indicador -lsignifica imprimir todos los sockets de escucha, -tmuestra todas las conexiones TCP, -umuestra todas las conexiones UDP, -nsignifica imprimir números de puerto numéricos (en lugar de nombres de aplicaciones) y -psignifica mostrar el nombre de la aplicación.

# netstat -ltup | grep zabbix_agentd

O

# 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 .

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 servicios o puertos seleccionados, puede enumerar los servicios o puertos que se han abierto en el firewall, utilizando el comando firewall-cmd o ufw ( dependiendo de las distribuciones de Linux que esté utilizando) como se muestra.

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

# firewall-cmd --list-ports

$ sudo ufw status [UFW Firewall]

Fecha actualización el 2021-01-01. Fecha publicación el 2020-01-01. Categoría: linux Autor: Oscar olg Mapa del sitio Fuente: how2shout Version movil