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