Tutoriales

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

Los sistemas de Linux proporcionan varios servicios del sistema (como la gestión de procesos, como los procesos, AccesoSyslog, cron, etc.) y servicios de red (como inicio de sesión remoto, correo electrónico, impresora, 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),Más).

Técnicamente, un servicio es un proceso o un conjunto de procesos (generalmente llamados Demonio) se ejecuta continuamente en segundo plano, esperando que entre las solicitudes (especialmente de los clientes).

Linux generalmente administra diferentes formas de servicios (comenzar, detener, reiniciar, habilitar el inicio automático, etc.) a través de un proceso de proceso o administrador de servicios. Ahora, la mayoría de las distribuciones modernas de Linux ahora usan el mismo administrador de procesos: System.

¿Qué es Systemd?

System Es el sistema y el gerente de servicio de Linux; inicio El proceso, y Sysv y LSB Init scripts, el comando SystemCTL es la principal herramienta para la administración System.

¿Por qué enumerar los servicios en ejecución en Linux?

Aprenda para qué servicios en los sistemas Linux son:

  • Monitorear la utilización de recursos
  • Solucionar problemas de rendimiento
  • Asegúrese de que los servicios críticos estén activos
  • Optimizar el rendimiento y la seguridad del sistema

System Simplifique la gestión de servicios con servicios poderosos Systemctl Los comandos (también conocidos como comandos básicos) los facilitan enumerar, monitorear y administrar servicios activos.

En esta guía, demostraremos el proceso de enumerar todos los servicios en ejecución System En Linux, proporcione tutoros completos para los usuarios de todos los niveles de experiencia.

Ejecute el servicio en Systemd en Linux

Cuando corres Comando SystemCTL Sin ningún parámetros, 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 (ya sea activos o no).

# systemctl 
Unidad SystemCTL en Linux

Enumere todos los servicios cargados en Linux

Para enumerar todos los servicios cargados en su sistema (ya sea activo, ejecutar, salir o fallar, usar Unidad de lista Subcomando y --type Cambiar el valor del servicio.

# systemctl list-units --type=service
OR
# systemctl --type=service
Enumere todos los servicios en Systemd
Enumere todos los servicios en Systemd

Lista de servicios activos solo en Linux

Para enumerar todos los servicios cargados pero válidos, incluidos los servicios en ejecución y salidas, puede agregar --state Valor de la opción Positivo,como sigue.

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

Use SystemCTL para enumerar los servicios en ejecución en Linux

Sin embargo, para navegar rápidamente por todos los servicios de ejecución (es decir, todos los servicios cargados y de ejecución activamente), ejecute el siguiente comando.

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

Discutamos con System Unidad y su estado:

  • unidad – La unidad puede ser un servicio, enchufe, equipo u varias otras entidades.
  • carga – Indica si el dispositivo está cargado. Se puede cargar una unidad, pero no necesariamente funciona.
  • Positivo – Indica si la unidad está funcionando activamente o está teniendo problemas y está en un estado fallido o inactivo.
  • hijo – Proporciona detalles adicionales sobre el estado específico del dispositivo. Para un servicio, puede indicar si el servicio se está ejecutando (en ejecución), detener (salir) o tener problemas (fallar).
  • describir – Ayuda a los usuarios a identificar y comprender el propósito del dispositivo sin profundizar en perfiles detallados.

Crear un alias para el comando SystemCTL

Si usa con frecuencia el comando anterior, puede ~/.bashrc Como se muestra en la figura, se puede llamar fácilmente.

# vim ~/.bashrc

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

alias running_services="systemctl list-units  --type=service  --state=running"
Crear un alias para un comando largo
Crear un alias para un comando largo

Guarde los cambios en el archivo y cierre. De ahora en adelante, use «Running_servicesComandos para ver una lista de todos los servicios cargados y activos en ejecución en el servidor.

# running_services	#use the Tab completion 
Ver todos los servicios en ejecución
Ver todos los servicios en ejecución

Encuentre el puerto que está utilizando el servicio

Además, un aspecto importante del servicio son los puertos que usan. Para determinar qué puerto está escuchando el proceso de demonio, puede usar el comando NetStat o SS como se muestra en la figura.

¿Dónde está la bandera nacional? -l Que significa imprimir todos los enchufes de escucha, -t Mostrar todas las conexiones TCP, -u Mostrar todas las conexiones UDP, -n Indica el número de puerto digital impreso (no el nombre de la aplicación) y -p Indica que se muestra el nombre de la aplicación.

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 Escucha en el puerto 10050.

Determinar el puerto de proceso
Determinar el puerto de proceso

Lista de servicios y puertos de firewall abierta

Además, si su servidor ejecuta un servicio de firewall, el servicio controla cómo bloquear o permitir el tráfico hacia o desde un servicio o puerto seleccionado, puede usar un servicio o puerto que se abre en el firewall Firewall-cmd o comando UFW (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]
Lista de servicios y puertos abiertos en firewall
Lista de servicios y puertos abiertos en firewall

Monitoreo automatizado de servicios en Linux

Verificar manualmente los servicios de ejecución puede ser tedioso, especialmente en los servidores de producción. La automatización de este proceso garantiza que siempre sea consciente de los cambios en el estado del servicio sin verificación manual.

Revise el servicio cada 5 minutos

Los trabajos de Cron son tareas programadas en Linux que se ejecutan a intervalos específicos. Puede usarlo para registrar el servicio en ejecución regularmente y revisarlo más tarde en caso de falla o cierre inesperado.

crontab -e

Agregue esta línea al servicio de registro de registro cada 5 minutos.

*/5 * * * * systemctl list-units --type=service --state=running > /tmp/running_services.log

La salida se guardará en /tmp/running_services.log Archivos, puede verificar los últimos registros del servicio utilizando los siguientes métodos

cat /tmp/running_services.log
OR
tail -f /tmp/running_services.log

Si falla, reinicie el servicio

Por defecto, si el servicio se bloquea o se detiene inesperadamente, no se reiniciará automáticamente a menos que se configure explícitamente. Para garantizar que el servicio se reinicie en la falla, puede modificar su archivo de unidad de servicio Systemd.

Por ejemplo, edite la configuración del servicio utilizando el siguiente comando (reemplazar apache2 Use el nombre de servicio real que desea reiniciar automáticamente):

systemctl edit apache2

Después de ingresar al editor, agregue la siguiente línea.

[Service]
Restart=always
RestartSec=5s

Ahora, recarga Systemd para aplicar los cambios.

systemctl daemon-reload

Luego reinicie el servicio para asegurarse de que recoge nuevas configuraciones

systemctl restart apache2

Para confirmar que SystemD está configurado para reiniciar automáticamente el servicio.

systemctl show apache2 --property=Restart
en conclusión

¡Por ahora! En esta guía, demostramos cómo ver el servicio de ejecución a continuación System En Linux. También cubrimos cómo verificar cómo está escuchando el servicio de puerto y cómo ver el servicio o el puerto que se abre en el firewall del sistema.

¿Tiene algún suplemento o pregunta? Si es así, contáctenos usando el formulario de comentarios a continuación.

LEER  Descargar BreakTimer Linux 1.1.0

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba