12/09/2022

Cum să utilizați Systemd pentru a lista serviciile

Distribuțiile principale Linux folosesc Systemd, un sistem de inițiere care funcționează pe baza activării și dezactivării fișierelor „de serviciu”. Dacă încercați să enumerați aceste fișiere de serviciu, dar nu știți cum să o faceți, va trebui să utilizați comanda systemctl.

În acest ghid, vom analiza diferitele moduri în care puteți lista fișierele de serviciu Systemd pe Linux. Pentru a începe, asigurați-vă că utilizați un sistem de operare Linux cu Systemd. Apoi, deschideți o fereastră de terminal și urmați.

Utilizați Systemd pentru a lista serviciile active

Dacă utilizați Systemd mult, la un moment dat, poate doriți să știți ce servicii sunt active în timp ce sistemul dumneavoastră Linux este pornit. Listarea serviciilor active este foarte ușoară și o puteți face cu comanda systemctl –type=service systemctl –type=service –state=running.

Această comandă, când este rulată, va afișa un tabel cu toate serviciile, dacă acestea sunt active, precum și o scurtă descriere. Pentru a rula acest program, deschideți o fereastră de terminal. Odată ce fereastra terminalului este deschisă, executați comanda de mai jos.

systemctl --type=service --state=running

Dacă încercați să filtrați prin toate serviciile active pentru un anumit serviciu, să vă uitați prin acest tabel mare poate fi destul de plictisitor. Din fericire, comanda systemctl poate fi combinată cu comanda grep ca mecanism de filtrare.

De exemplu, pentru a verifica dacă „snapd.service” rulează și este încărcat, puteți rula systemctl –type=service –state=running | grep „snapd”, iar rezultatul va afișa doar serviciul Snapd, în loc de întregul tabel.

systemctl --type=service --state=running | grep 'snapd'

Dacă doriți să salvați rezultatul tabelului într-un fișier text pentru mai târziu, utilizați următoarea comandă.

systemctl --type=service --state=runningrunning > ~/active-services.txt

Pentru a vizualiza fișierul text în orice moment, executați comanda cat de mai jos.

cat ~/active-services.txt

Utilizați Systemd pentru a lista serviciile inactive

Listarea serviciilor Systemd active este utilă, dar cum rămâne cu cele inactive? Da, este posibil să le enumerați și pe acestea. Iată cum. Mai întâi, deschideți o fereastră de terminal.

  7 Cel mai bun software de gestionare a documentelor pentru IMM-uri în 2022

Odată ce fereastra terminalului este deschisă și gata de utilizare, executați comanda systemctl –type=service, dar în slotul –state=, plasați „inactiv” în loc de „în rulare”. Făcând acest lucru, puteți vedea ce servicii Systemd sunt inactive pe sistemul dumneavoastră Linux.

systemctl --type=service --state=inactive

Ca și în cazul serviciilor active, Systemd va crea un tabel frumos și îngrijit și vă va arăta ce servicii Systemd sunt inactive, moarte și nu sunt utilizate. Dacă doriți să filtrați prin acest tabel pentru a afla dacă un anumit serviciu este mort, îl puteți combina cu comanda grep.

De exemplu, pentru a determina dacă fișierul „updatedb.service” este inactiv, puteți combina systemctl –type=service –state=inactive cu comanda grep de mai jos pentru a căuta în tabel.

systemctl --type=service --state=inactive | grep 'updatedb.service'

Dacă trebuie să salvați toate fișierele de serviciu Systemd inactive într-un fișier text pentru a le citi mai târziu, utilizați următoarea comandă.

systemctl --type=service --state=inactive > ~/inactive-services.txt

Pentru a citi acest fișier text direct din fereastra terminalului, utilizați comanda cat.

cat  ~/inactive-services.txt

Utilizați Systemd pentru a lista toate serviciile instalate

Dacă trebuie să vedeți toate serviciile Systemd instalate, indiferent dacă sunt active sau nu, va trebui să utilizați comanda systemctl list-unit-files –type=service și să excludeți comutatorul –state din linia de comandă. Prin excluderea –state, Systemd va putea lista cu ușurință fiecare fișier de serviciu de pe computer.

systemctl list-unit-files --type=service

Odată ce comanda de mai sus este executată, Systemd va tipări un tabel cu fiecare fișier de serviciu din sistem. De aici, puteți sorta tabelul pentru a găsi fișierul de serviciu de care aveți nevoie.

  Remediați o eroare care a apărut la pornirea Roblox

Dacă nu puteți găsi un anumit fișier de serviciu, puteți combina comanda systemctl list-unit-files –type=service cu comanda grep pentru a utiliza un filtru. Folosind comanda de mai jos, filtrați tabelul pentru a găsi fișierul de serviciu de care aveți nevoie.

systemctl list-unit-files --type=service | grep 'my-service'

Doriți să exportați toate serviciile Systemd într-un fișier text pentru a le citi mai târziu? Executați următoarea comandă.

systemctl list-unit-files --type=service > ~/service-files.txt

Puteți vizualiza fișierul text în orice moment cu comanda cat de mai jos.

cat ~/service-files.txt

Utilizați Systemd pentru a afișa starea serviciului individual

Deși este util să știți cum să enumerați toate serviciile Systemd, cele care sunt active și inactive, este, de asemenea, util să știți cum să enumerați starea serviciilor în mod individual. Iată cum să o faci.

Mai întâi, deschideți o fereastră de terminal. Odată ce fereastra terminalului este deschisă, utilizați comanda systemctl status pentru un anumit serviciu. De exemplu, pentru a găsi starea „NetworkManager.service”, se execută următoarea comandă.

systemctl status NetworkManager

Dacă doriți să exportați rezultatul comenzii de stare într-un fișier text pentru citire ulterioară, puteți introduce comanda de mai jos.

systemctl status MyService > ~/MyService-status.txt

Pentru a vizualiza acest fișier, executați următoarea comandă cat.

cat ~/MyService-status.txt

x