Cómo enumerar los servicios de Linux con Systemctl

23 dic 2020 3 min di lettura
Cómo enumerar los servicios de Linux con Systemctl
Indice dei contenuti

Introducción

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

Si usa Linux como su principal sistema operativo o plataforma de desarrollo, estará tratando 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.

Las distribuciones de Linux más recientes utilizan systemd como el sistema de inicialización predeterminado y el 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, establecer 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 utiliza el concepto de unidades, que pueden ser servicios, sockets, puntos de montaje, dispositivos, etc. Las unidades se definen mediante archivos de texto en formato ini. Estos archivos incluyen información sobre la unidad, su configuración y los comandos que se ejecutarán. 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 una extensión .service.

systemctles una utilidad de línea de comandos utilizada 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 fila 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 la unidad de alto nivel, que puede estar activo, recargando, inactivo, fallido, en activación, en desactivación. Es una generalización de la columna SUB.
  • SUB - Lo stato di attivazione del file unit di basso livello. Il valore di questo campo dipende dal tipo di unità. Ad esempio, un'unità di tipo servizio può trovarsi in uno dei seguenti stati, morto, terminato, non riuscito, inattivo o in esecuzione.
  • DESCRIPTION - Breve descrizione del file unit.

Per impostazione predefinita, il comando elenca solo le unità attive caricate. Per vedere le unità caricate ma anche inattive, passa l'opzione --all:

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

Se vuoi vedere tutti i file unit installati, non solo quelli caricati, usa:

sudo systemctl list-unit-files

Visualizzare lo stato del servizio

Per controllare lo stato di un servizio, usa il comando systemctl status:

sudo systemctl status <service_name>.service

<service_name> è il nome dell'unità di servizio che desideri controllare. Ad esempio, per determinare lo stato corrente del servizio nginx da eseguire:

sudo systemctl status nginx.service

È possibile omettere il suffisso ".service". systemctl status nginxè uguale a 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 Fri 2020-12-11 15:37:34 CET; 1 weeks 5 days ago
     Docs: man:nginx(8)
 Main PID: 13172 (nginx)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─13172 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ├─15416 nginx: worker process
           └─15417 nginx: worker process

Il comando stamperà le seguenti informazioni:

  • Loaded - Se l'unità di servizio è stata caricata e il percorso completo del file dell'unità. Mostra anche se l'unità è abilitata per l'avvio al momento dell'avvio.
  • Active - Se il servizio è attivo e in esecuzione. Se il tuo terminale supporta i colori e il servizio è attivo e in esecuzione, il punto () e la parte "attiva (in esecuzione)" verranno stampate in verde. La riga mostra anche la durata del servizio.
  • Docs - La documentazione del servizio.
  • Process - Informazioni sui processi di servizio.
  • Main PID - Il servizio PID.
  • Tasks - Il numero di attività contabilizzate per l'unità e il limite di attività.
  • Memory - Informazioni sulla memoria utilizzata.
  • CGroup - Información sobre grupos de control relacionados.

Si solo desea verificar el estado del servicio, use el comando systemctl is-active. Por ejemplo, para verificar que el servicio nginx se esté ejecutando, ejecute:

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 0, que puede ser útil cuando se usa el comando dentro de scripts de shell.

Conclusión

Le mostramos cómo usar el comando systemctlpara enumerar los servicios de Linux y verificar su estado.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.