Majoritatea distribuțiilor Linux utilizează Systemd, un sistem de inițializare care se bazează pe activarea și dezactivarea unităților de „serviciu”. Dacă dorești să vezi lista acestor unități, dar nu știi cum, trebuie să folosești comanda systemctl.
În acest ghid, vom explora diversele metode prin care poți lista unitățile de serviciu Systemd pe Linux. Înainte de a începe, asigură-te că folosești un sistem de operare Linux cu Systemd. Apoi, deschide un terminal și urmează pașii.
Vizualizarea serviciilor active cu Systemd
Dacă interacționezi frecvent cu Systemd, la un moment dat, vei dori să știi ce servicii sunt în funcțiune în timp ce sistemul tău Linux rulează. Listarea serviciilor active este simplă și se poate realiza cu ajutorul comenzii `systemctl –type=service –state=running`.
Executând această comandă, vei obține un tabel cu toate serviciile, indicând dacă sunt active, alături de o scurtă descriere. Pentru a executa această comandă, deschide un terminal și introdu următorul cod:
systemctl --type=service --state=running
În cazul în care vrei să filtrezi serviciile active pentru un anumit serviciu, parcurgerea întregului tabel poate fi obositoare. Din fericire, comanda systemctl poate fi combinată cu comanda grep pentru a filtra rezultatele.
De exemplu, pentru a verifica dacă serviciul „snapd.service” este pornit, poți folosi comanda `systemctl –type=service –state=running | grep „snapd”`. Aceasta va afișa doar serviciul Snapd, nu întregul tabel.
systemctl --type=service --state=running | grep 'snapd'
Dacă vrei să salvezi rezultatele tabelului într-un fișier text pentru a le analiza ulterior, folosește următoarea comandă:
systemctl --type=service --state=running > ~/servicii-active.txt
Pentru a vizualiza conținutul fișierului text, poți folosi comanda cat:
cat ~/servicii-active.txt
Vizualizarea serviciilor inactive cu Systemd
Listarea serviciilor Systemd active este utilă, dar cum rămâne cu cele inactive? Da, și acestea pot fi listate. Iată cum: deschide un terminal.
Odată ce terminalul este pregătit, execută comanda `systemctl –type=service`, dar în câmpul `–state=`, introdu „inactive” în loc de „running”. Astfel, vei vedea ce servicii Systemd sunt inactive pe sistemul tău Linux.
systemctl --type=service --state=inactive
Similar cu serviciile active, Systemd va genera un tabel clar cu serviciile inactive, oprite și neutilizate. Dacă vrei să filtrezi acest tabel pentru a afla dacă un anumit serviciu este oprit, poți folosi comanda grep.
De exemplu, pentru a verifica dacă serviciul „updatedb.service” este inactiv, poți combina `systemctl –type=service –state=inactive` cu comanda grep astfel:
systemctl --type=service --state=inactive | grep 'updatedb.service'
Dacă vrei să salvezi lista serviciilor inactive într-un fișier text pentru consultare ulterioară, folosește următoarea comandă:
systemctl --type=service --state=inactive > ~/servicii-inactive.txt
Pentru a citi conținutul fișierului direct din terminal, folosește comanda cat:
cat ~/servicii-inactive.txt
Listarea tuturor serviciilor instalate cu Systemd
Pentru a vizualiza toate serviciile Systemd instalate, indiferent dacă sunt active sau nu, trebuie să folosești comanda `systemctl list-unit-files –type=service` și să excluzi opțiunea `–state` din linia de comandă. Fără opțiunea `–state`, Systemd va lista fiecare fișier de serviciu de pe computer.
systemctl list-unit-files --type=service
După executarea comenzii, Systemd va afișa un tabel cu fiecare fișier de serviciu de pe sistem. Apoi poți sorta tabelul pentru a găsi fișierul de serviciu dorit.
Dacă nu găsești un anumit fișier de serviciu, poți combina `systemctl list-unit-files –type=service` cu comanda grep pentru a filtra rezultatele. Folosind următoarea comandă, vei putea filtra tabelul pentru a găsi fișierul de serviciu căutat:
systemctl list-unit-files --type=service | grep 'my-service'
Vrei să exporți toate serviciile Systemd într-un fișier text pentru a le citi ulterior? Execută următoarea comandă:
systemctl list-unit-files --type=service > ~/fisiere-servicii.txt
Poți vizualiza conținutul fișierului text cu ajutorul comenzii cat:
cat ~/fisiere-servicii.txt
Vizualizarea stării unui serviciu individual cu Systemd
Deși este util să știi cum să listezi toate serviciile Systemd, cele active și inactive, este important să știi cum să verifici starea unui serviciu individual. Iată cum se face:
În primul rând, deschide un terminal. Apoi, folosește comanda `systemctl status` urmată de numele serviciului. De exemplu, pentru a afla starea serviciului „NetworkManager.service”, execută următoarea comandă:
systemctl status NetworkManager
Dacă vrei să salvezi rezultatul comenzii într-un fișier text pentru consultare ulterioară, introdu următoarea comandă:
systemctl status MyService > ~/MyService-status.txt
Pentru a vizualiza fișierul, execută comanda cat:
cat ~/MyService-status.txt