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

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

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

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"

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

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.

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]

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.