GNU/Linux >> Tutoriales Linux >  >> Linux

Listado de servicios de Linux con Systemctl

En Linux, un servicio es un programa que se ejecuta en segundo plano. Los servicios se pueden iniciar a pedido o en el momento del arranque.

Si está utilizando Linux como su sistema operativo principal o plataforma de desarrollo, tratará con diferentes servicios como servidor web, ssh o cron. Saber cómo enumerar los servicios en ejecución o verificar el estado del servicio es importante al depurar problemas del sistema.

La mayoría de las distribuciones recientes de Linux utilizan systemd como sistema de inicio predeterminado y administrador de servicios.

Systemd es un conjunto de herramientas para administrar sistemas Linux. Se utiliza para iniciar la máquina, administrar servicios, montar automáticamente sistemas de archivos, registrar eventos, configurar el nombre de host y otras tareas del sistema.

Este artículo explica cómo listar servicios en Linux.

Lista de servicios de Linux #

Systemd usa el concepto de unidades, que pueden ser servicios, sockets, puntos de montaje, dispositivos, etc. Las unidades se definen usando archivos de texto en ini formato. Estos archivos incluyen información sobre la unidad, su configuración y los comandos a ejecutar. Las extensiones de nombre de archivo definen el tipo de archivo de la unidad. Por ejemplo, los archivos de la unidad de servicio del sistema tienen un .service extensión.

systemctl es una utilidad de línea de comandos que se utiliza para controlar systemd y administrar servicios. Es parte del ecosistema systemd y está disponible de forma predeterminada en todos los sistemas.

Para obtener una lista de todas las unidades de servicio cargadas, escriba:

sudo systemctl list-units --type service
UNIT          LOAD      ACTIVE SUB     DESCRIPTION                                                              
cron.service  loaded    active running Regular background program processing daemon 
...

Cada línea de salida contiene las siguientes columnas de izquierda a derecha:

  • UNIT - El nombre de la unidad de servicio.
  • LOAD - Información sobre si el archivo de la unidad se ha cargado en la memoria.
  • ACTIVE - El estado de activación del archivo de unidad de alto nivel, que puede ser activo, recargando, inactivo, fallido, activando, desactivando. Es una generalización del SUB columna.
  • SUB - El estado de activación del archivo de unidad de bajo nivel. El valor de este campo depende del tipo de unidad. Por ejemplo, una unidad de tipo servicio puede estar en uno de los siguientes estados:muerta, cerrada, fallida, inactiva o en ejecución.
  • DESCRIPTION - Breve descripción del archivo de la unidad.

De forma predeterminada, el comando enumera solo las unidades activas cargadas. Para ver también las unidades cargadas pero inactivas, pase el --all opción:

sudo systemctl list-units --type service --all

Si desea ver todos los archivos de unidades instalados, no solo los cargados, use:

sudo systemctl list-unit-files

Mostrando Estado del Servicio #

Para verificar el estado de un servicio, use el systemctl status comando:

sudo systemctl status <service_name>.service

Donde <service_name> es el nombre de la unidad de servicio que desea comprobar. Por ejemplo, para determinar el estado actual del servicio nginx, ejecutaría:

sudo systemctl status nginx.service
Puede omitir el sufijo “.service”. systemctl status nginx es lo mismo que systemctl status nginx.service .
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-12-23 19:13:50 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 3061052 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3061063 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3061064 (nginx)
      Tasks: 2 (limit: 470)
     Memory: 6.0M
     CGroup: /system.slice/nginx.service
             ├─3061064 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─3061065 nginx: worker process

Dec 23 19:13:50 linuxize.dev systemd[1]: Starting A high performance web server and a reverse proxy server...

El comando imprimirá la siguiente información:

  • Loaded - Si se ha cargado la unidad de servicio y la ruta completa al archivo de la unidad. También muestra si la unidad está habilitada para iniciarse en el momento del arranque.
  • Active - Si el servicio está activo y en ejecución. Si su terminal admite colores y el servicio está activo y ejecutándose, el punto ( ) y la parte "activa (en ejecución)" se imprimirá en verde. La línea también muestra cuánto tiempo se está ejecutando el servicio.
  • Docs - La documentación del servicio.
  • Process - Información sobre los procesos del servicio.
  • Main PID - El PID del servicio.
  • Tasks - El número de tareas contabilizadas para la unidad y el límite de tareas.
  • Memory - Información sobre la memoria utilizada.
  • CGroup - Información sobre los Grupos de Control relacionados.

Si solo desea verificar el estado del servicio, use el systemctl is-active dominio. Por ejemplo, para verificar que el servicio nginx se está ejecutando, ejecutaría:

systemctl is-active nginx.service
active

El comando le mostrará el estado del servicio. Si el servicio está activo, el comando devuelve un estado de salida de 0, lo que puede ser útil cuando se usa el comando dentro de scripts de shell.

Conclusión #

Le hemos mostrado cómo usar el systemctl Comando para enumerar los servicios de Linux y comprobar su estado.


Linux
  1. Administre múltiples instancias de servicio con systemctl

  2. Tutorial de comandos de servicio de Linux para principiantes (con ejemplos)

  3. Cómo administrar los servicios de Systemd con Systemctl en Linux

  4. Cómo enumerar los servicios de Systemd en Linux

  5. Servicios de Linux:¿existe una GUI para los servicios?

Cómo enumerar los servicios de inicio en el arranque en Linux

Cómo reiniciar los servicios de red en Linux

Listado de servicios en Ubuntu 20.04

Primeros pasos con systemctl

Cómo usar systemctl en Linux

Comando chkconfig de Linux con ejemplos