Jak wyświetlić listę wszystkich uruchomionych usług w Systemd w systemie Linux

Systemy Linux zapewniają różnorodne usługi systemowe (takie jak zarządzanie procesami, logowanie, syslog, cron itp.) Oraz usługi sieciowe (takie jak zdalne logowanie, poczta e-mail, drukarki, hosting, przechowywanie danych, transfer plików, rozpoznawanie nazw domen (przy użyciu DNS), dynamiczne przypisywanie adresów IP (przy użyciu DHCP) i wiele więcej).

Technicznie, a usługa to proces lub grupa procesów (powszechnie znanych jako demony) działających w tle, oczekujących na przychodzące żądania (szczególnie od klientów).

Linux obsługuje różne sposoby zarządzania (start, stop, restart, włączanie autostartu przy starcie systemu itp.), zazwyczaj za pośrednictwem menedżera procesów lub usług. Większość, jeśli nie wszystkie, współczesne dystrybucje Linuksa używają teraz tego samego menedżera procesów: systemd.

Przeczytaj także: Historia za „init” i „systemd”: Dlaczego „init” musi być zastąpiony przez „systemd” w Linux

Systemd to menedżer systemu i usług dla Linuksa; zamiennik typu drop-init dla procesu init, który jest zgodny ze skryptami inicjującymi SysV i LSB, a polecenie systemctl jest podstawowym narzędziem do zarządzania systemem.

W tym przewodniku pokażemy, jak wyświetlić listę wszystkich usług działających w systemie systemd w systemie Linux.

Lista usług działających w systemie SystemD w Linux

Kiedy uruchomisz polecenie systemctl bez żadnych argumentów, wyświetli listę wszystkich załadowanych jednostek systemd (przeczytaj dokumentację systemd, aby uzyskać więcej informacji o jednostkach systemd), w tym usług, pokazując ich status (czy są aktywne, czy nie).

# systemctl 

Aby wyświetlić listę wszystkich załadowanych usług w systemie (aktywnych; działających, zakończonych lub zakończonych niepowodzeniem, użyj komendy list-units i --type z wartością usługi.

# systemctl list-units --type=serviceOR# systemctl --type=service
Wyświetl wszystkie usługi w Systemd

Aby wyświetlić listę wszystkich załadowanych, ale aktywnych usług, zarówno działających, jak i tych, które zostały zamknięte, możesz dodać opcję --state z wartością aktywnych w następujący sposób.

# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Lista Wszystkie aktywne usługi działające w Systemd

Aby jednak szybko sprawdzić wszystkie działające usługi (tj. Wszystkie załadowane i aktywnie działające usługi), uruchom następujące polecenie.

# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Wyświetl listę usług uruchomionych w Systemd

Jeśli często używasz poprzedniego polecenia, możesz utworzyć polecenie aliasu w swoim pliku ~ / .bashrc, jak pokazano, aby łatwo je wywołać.

# vim ~/.bashrc

Następnie dodaj następujący wiersz pod listą aliasów, jak pokazano na zrzucie ekranu.

alias running_services="systemctl list-units --type=service --state=running"
Utwórz alias dla długiego polecenia

Zapisz zmiany w pliku i zamknij go. Od teraz użyj polecenia „running_services”, aby wyświetlić listę wszystkich załadowanych, aktywnie działających usług na serwerze.

# running_services#use the Tab completion 
Wyświetl wszystkie działające usługi

Poza tym ważnym aspektem usług jest używanego portu. Aby określić port, na którym nasłuchuje proces demona, możesz użyć narzędzi netstat lub ss, jak pokazano.

Gdzie flaga -l oznacza wypisz wszystkie nasłuchujące gniazda, -t wyświetla wszystkie połączenia TCP, -u pokazuje wszystkie połączenia UDP, -n oznacza wyświetlanie numerycznych numerów portów (zamiast nazw aplikacji), a -p oznacza wyświetlanie nazwy aplikacji.

# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd

piąta kolumna przedstawia gniazdo: Adres lokalny: Port. W tym przypadku proces zabbix_agentd nasłuchuje na porcie 10050.

Określ port procesu

Ponadto, jeśli serwer ma uruchomioną usługę zapory, która kontroluje jak zablokować lub zezwolić na ruch do lub z wybranych usług lub portów, możesz wyświetlić listę usług lub portów, które zostały otwarte w zaporze, używając polecenia firewall-cmd lub ufw (w zależności od używanych dystrybucji Linuksa), jak pokazano.

# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status 
Wyświetl listę otwartych usług i portów w zaporze sieciowej

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *