Jak używać Systemd do wyświetlania listy usług

Wszystkie główne dystrybucje Linuksa używają Systemd, systemu inicjującego, który działa w oparciu o włączanie i wyłączanie plików „usług”. Jeśli próbujesz wyświetlić listę tych plików usług, ale nie wiesz, jak to zrobić, musisz skorzystać z polecenia systemctl.

W tym przewodniku omówimy różne sposoby wyświetlania plików usług Systemd w systemie Linux. Aby rozpocząć, upewnij się, że używasz systemu operacyjnego Linux z Systemd. Następnie otwórz okno terminala i postępuj zgodnie z instrukcjami.

Użyj Systemd, aby wyświetlić listę aktywnych usług

Jeśli często używasz Systemd, w pewnym momencie możesz chcieć wiedzieć, jakie usługi są aktywne podczas uruchamiania systemu Linux. Wyświetlanie aktywnych usług jest bardzo łatwe i można to zrobić za pomocą polecenia systemctl –type = service systemctl –type = service –state = running.

To polecenie, po uruchomieniu, wyświetli tabelę wszystkich usług, jeśli są one aktywne, a także krótki opis. Aby uruchomić ten program, otwórz okno terminala. Po otwarciu okna terminala wykonaj poniższe polecenie.

systemctl --type=service --state=running

Jeśli próbujesz przefiltrować wszystkie aktywne usługi dla określonej usługi, przeglądanie tej dużej tabeli może być dość uciążliwe. Na szczęście polecenie systemctl można połączyć z poleceniem grep jako mechanizm filtrujący.

Na przykład, aby sprawdzić, czy usługa „snapd.service” jest uruchomiona i załadowana, można uruchomić systemctl –type = service –state = running | grep 'snapd’, a dane wyjściowe pokażą tylko usługę Snapd, a nie całą tabelę.

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

Jeśli chcesz zapisać dane wyjściowe tabeli w pliku tekstowym na później, użyj następującego polecenia.

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

Aby wyświetlić plik tekstowy w dowolnym momencie, wykonaj poniższe polecenie cat.

cat ~/active-services.txt

Użyj Systemd, aby wyświetlić nieaktywne usługi

Wyświetlanie aktywnych usług Systemd jest pomocne, ale co z nieaktywnymi? Tak, można je również wymienić. Oto jak. Najpierw otwórz okno terminala.

Gdy okno terminala jest otwarte i gotowe do użycia, wykonaj polecenie systemctl –type = service, ale w gnieździe –state = umieść „inactive” zamiast „running”. W ten sposób możesz zobaczyć, które usługi Systemd są nieaktywne w twoim systemie Linux.

systemctl --type=service --state=inactive

Podobnie jak w przypadku usług aktywnych, Systemd utworzy ładną, schludną tabelę i pokaże, które usługi Systemd są nieaktywne, martwe i nieużywane. Jeśli chcesz przefiltrować tę tabelę, aby sprawdzić, czy określona usługa nie działa, możesz połączyć ją z poleceniem grep.

Na przykład, aby określić, czy plik „updatedb.service” jest nieaktywny, można połączyć systemctl –type = service –state = inactive z poleceniem grep poniżej w celu wyszukania go w tabeli.

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

Jeśli chcesz zapisać wszystkie nieaktywne pliki usługi Systemd w pliku tekstowym do późniejszego odczytu, użyj następującego polecenia.

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

Aby przeczytać ten plik tekstowy bezpośrednio z okna terminala, użyj polecenia cat.

cat  ~/inactive-services.txt

Użyj Systemd, aby wyświetlić listę wszystkich zainstalowanych usług

Jeśli chcesz zobaczyć wszystkie zainstalowane usługi Systemd, niezależnie od tego, czy są aktywne, czy nie, musisz użyć polecenia systemctl list-unit-files –type = service i wykluczyć przełącznik wiersza polecenia –state. Wykluczając –state, Systemd będzie mógł z łatwością wyświetlić listę wszystkich plików usług na twoim komputerze.

systemctl list-unit-files --type=service

Po wykonaniu powyższego polecenia Systemd wydrukuje tabelę z każdym plikiem usługi w systemie. W tym miejscu możesz posortować tabelę, aby znaleźć potrzebny plik usługi.

Jeśli nie możesz znaleźć określonego pliku usługi, możesz połączyć polecenie systemctl list-unit-files –type = service z poleceniem grep, aby użyć filtru. Za pomocą poniższego polecenia przefiltruj tabelę, aby znaleźć potrzebny plik usługi.

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

Chcesz wyeksportować wszystkie usługi Systemd do pliku tekstowego, aby przeczytać je później? Wykonaj następujące polecenie.

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

Możesz wyświetlić plik tekstowy w dowolnym momencie za pomocą poniższego polecenia cat.

cat ~/service-files.txt

Użyj Systemd, aby wyświetlić stan poszczególnych usług

Chociaż warto wiedzieć, jak wyświetlić listę wszystkich usług Systemd, które są aktywne i nieaktywne, warto również wiedzieć, jak wyświetlić stan usług indywidualnie. Oto jak to zrobić.

Najpierw otwórz okno terminala. Po otwarciu okna terminala użyj polecenia status systemctl na określonej usłudze. Na przykład, aby znaleźć status „NetworkManager.service”, uruchamiane jest następujące polecenie.

systemctl status NetworkManager

Jeśli chcesz wyeksportować dane wyjściowe polecenia stanu do pliku tekstowego w celu późniejszego odczytania, możesz wprowadzić poniższe polecenie.

systemctl status MyService > ~/MyService-status.txt

Aby wyświetlić ten plik, wykonaj następujące polecenie cat.

cat ~/MyService-status.txt