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

Un sistema Linux proporciona una variedad de servicios del sistema (como la gestión de procesos, acceso, 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, 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) ejecutando continuamente en segundo plano, esperando que entre las solicitudes (especialmente de los clientes).

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

Leer también: La historia detrás de 'init' y 'systemd': por qué 'init' necesitaba ser reemplazada con 'systemd' en Linux

System es un gerente de sistema y servicio de Linux; un reemplazo de entrega para el en eso proceso, que es compatible con Sysv y LSB Init scripts y el comando SystemCTL es la herramienta principal para administrar system.

En esta guía, demostraremos cómo enumerar todos los servicios en ejecución en system En Linux.

Listado de servicios en ejecución en Systemd en Linux

Cuando corres el Comando SystemCTL Sin ningún argumento, mostrará una lista de todas las unidades SystemD cargadas (lea la documentación del sistema para obtener más información sobre las unidades Systemd), incluidos los servicios, que muestran 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 unión de listas subcomando y --tipo Cambiar con un valor de servicio.

# SystemCTL List-Units --Type = Service o # SystemCtl --Type = Service 
Enumere 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 --estado opción con un valor de activo, como sigue.

# SystemCTL List-Units --Type = Service--state = activo o # systemctl --type = servicio--state = activo 
Enumere todos los servicios de ejecución activos en Systemd

Pero para echar un vistazo rápido a todos los servicios en ejecución (yo.e todos los servicios cargados y de ejecución activa), ejecute el siguiente comando.

# SystemCTL List-Units --Type = Service--State = Running o # SystemCtl --Type = Service--State = Running 
Lista de servicios de ejecución en Systemd

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

# vim ~/.bashrc 

Luego agregue la siguiente línea en 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

Guarde los cambios en el archivo y cierre. Y a partir de ahora, usa el "Servicios en uso"Comando para ver una lista de todos los servicios cargados y ejecutados en su servidor en su servidor.

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

Además, un aspecto importante de los servicios es el puerto que usan. Para determinar el puerto que está escuchando un proceso de demonio, puede usar NetStat o ss Herramientas como se muestra.

Donde la bandera -l significa imprimir todos los enchufes de escucha, -T Muestra todas las conexiones TCP, -u muestra todas las conexiones UDP, -norte significa imprimir números de puerto numérico (en lugar de nombres de aplicaciones) y -pag significa 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.

Determinar 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 servicios o puertos seleccionados, puede enumerar servicios o puertos que se han abierto en el firewall, utilizando el firewall-cmd o comando 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] 
Lista de servicios y puertos abiertos en firewall

Eso es todo por ahora! En esta guía, demostramos cómo ver los servicios en ejecución bajo system En Linux. También cubrimos cómo verificar el puerto en el que está escuchando un servicio y cómo ver los servicios o los puertos abiertos en el firewall del sistema. ¿Tiene alguna adición para hacer o preguntas?? En caso afirmativo, comuníquese con nosotros usando el formulario de comentarios a continuación.