GNU/Linux >> Znalost Linux >  >> Linux

Výpis služeb Linuxu pomocí Systemctl

V Linuxu je služba program, který běží na pozadí. Služby lze spustit na vyžádání nebo při spouštění.

Pokud používáte Linux jako svůj primární operační systém nebo vývojovou platformu, budete se zabývat různými službami, jako je webový server, ssh nebo cron. Při ladění systémových problémů je důležité vědět, jak vypsat spuštěné služby nebo zkontrolovat stav služby.

Většina současných linuxových distribucí používá systemd jako výchozího správce init systému a služeb.

Systemd je sada nástrojů pro správu systémů Linux. Používá se ke spouštění počítače, správě služeb, automatickému připojení souborových systémů, protokolování událostí, nastavení názvu hostitele a dalších systémových úloh.

Tento článek vysvětluje, jak vypsat seznam služeb v Linuxu.

Výpis služeb Linuxu #

Systemd používá koncept jednotek, což mohou být služby, zásuvky, přípojné body, zařízení atd. Jednotky jsou definovány pomocí textových souborů v ini formát. Tyto soubory obsahují informace o jednotce, jejím nastavení a příkazech k provedení. Přípony souborů definují typ souboru jednotky. Například soubory jednotek systémové služby mají .service rozšíření.

systemctl je nástroj příkazového řádku, který se používá pro ovládání systemd a správu služeb. Je součástí ekosystému systemd a je standardně k dispozici na všech systémech.

Chcete-li získat seznam všech načtených servisních jednotek, zadejte:

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

Každý řádek výstupu obsahuje následující sloupce zleva doprava:

  • UNIT - Název servisní jednotky.
  • LOAD - Informace o tom, zda byl soubor jednotky načten do paměti.
  • ACTIVE - Stav aktivace souboru jednotky na vysoké úrovni, který může být aktivní, znovu načítání, neaktivní, selhal, aktivace, deaktivace. Je to zobecnění SUB sloupec.
  • SUB - Stav aktivace souboru jednotky nízké úrovně. Hodnota tohoto pole závisí na typu jednotky. Služba typu jednotka může být například v jednom z následujících stavů, mrtvá, ukončená, selhaná, neaktivní nebo spuštěná.
  • DESCRIPTION - Krátký popis souboru jednotky.

Ve výchozím nastavení příkaz uvádí pouze načtené aktivní jednotky. Chcete-li zobrazit také načtené, ale neaktivní jednotky, předejte --all možnost:

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

Pokud chcete vidět všechny nainstalované soubory jednotek, nejen načtené, použijte:

sudo systemctl list-unit-files

Zobrazení stavu služby #

Chcete-li zkontrolovat stav služby, použijte systemctl status příkaz:

sudo systemctl status <service_name>.service

Kde <service_name> je název servisní jednotky, kterou chcete zkontrolovat. Chcete-li například zjistit aktuální stav služby nginx, kterou byste spustili:

sudo systemctl status nginx.service
Příponu „.service“ můžete vynechat. systemctl status nginx je stejný jako 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...

Příkaz vytiskne následující informace:

  • Loaded - Zda byla servisní jednotka načtena a úplná cesta k souboru jednotky. Zobrazuje také, zda je povoleno spuštění jednotky při spouštění.
  • Active - Zda je služba aktivní a běží. Pokud váš terminál podporuje barvy a služba je aktivní a běží, tečka ( ) a část „aktivní (běžící)“ bude vytištěna zeleně. Řádek také ukazuje, jak dlouho služba běží.
  • Docs - Servisní dokumentaci.
  • Process - Informace o procesech služeb.
  • Main PID - PID služby.
  • Tasks - Počet úkolů připadajících na jednotku a limit úkolů.
  • Memory - Informace o použité paměti.
  • CGroup - Informace o souvisejících kontrolních skupinách.

Pokud chcete pouze zkontrolovat stav služby, použijte systemctl is-active příkaz. Chcete-li například ověřit, že služba nginx běží, spustili byste:

systemctl is-active nginx.service
active

Příkaz vám ukáže stav služby. Pokud je služba aktivní, příkaz vrátí stav ukončení 0, což může být užitečné při použití příkazu uvnitř skriptů shellu.

Závěr č.

Ukázali jsme vám, jak používat systemctl příkaz pro výpis služeb Linuxu a kontrolu jejich stavu.


Linux
  1. Spravujte více instancí služeb pomocí systemctl

  2. Výukový program příkazů služby Linux pro začátečníky (s příklady)

  3. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  1. Nastavení přesměrování portů v Linuxu pomocí ncat

  2. Jak používat příkaz Systemctl ke správě služeb Systemd

  3. Služby Linuxu:existuje grafické uživatelské rozhraní pro služby?

  1. Jak spravovat služby Linux pomocí příkazu systemctl

  2. Jak vypsat Systemd Services v Linuxu

  3. Ke správě služeb použijte Systemctl