Jak používat Systemd k výpisu služeb

Většina současných linuxových distribucí spoléhá na Systemd, což je inicializační systém, který řídí start a stop různých procesů prostřednictvím „služeb“. Pokud potřebujete zobrazit seznam těchto služeb, ale nejste si jisti, jak na to, příkaz systemctl je vaším klíčem.

V tomto průvodci se podíváme na různé způsoby, jak efektivně zobrazit seznam služeb Systemd v Linuxu. Pro začátek se ujistěte, že používáte Linux s podporou Systemd. Poté otevřete terminál a následujte kroky.

Zobrazení seznamu spuštěných služeb pomocí Systemd

Při časté práci se Systemd se vám může hodit přehled o tom, které služby běží při spuštění vašeho systému. Zobrazení aktivních služeb je jednoduché pomocí příkazu systemctl --type=service --state=running.

Tento příkaz vygeneruje tabulku se všemi aktivními službami a jejich stručným popisem. Pro spuštění tohoto příkazu otevřete terminál a zadejte:

systemctl --type=service --state=running

Pokud potřebujete vyfiltrovat seznam aktivních služeb pro konkrétní službu, může být procházení celé tabulky náročné. Naštěstí lze příkaz systemctl kombinovat s grep pro filtrování výstupu.

Například pro ověření, zda je spuštěna služba „snapd.service“, použijte systemctl --type=service --state=running | grep 'snapd', který zobrazí pouze informace o službě Snapd.

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

Pro uložení výstupu tabulky do textového souboru pro pozdější použití, použijte následující příkaz:

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

Pro zobrazení obsahu textového souboru použijte příkaz cat:

cat ~/active-services.txt

Zobrazení seznamu neaktivních služeb pomocí Systemd

Výpis aktivních služeb je užitečný, ale co neaktivní služby? I ty lze zobrazit. Postup je podobný, stačí otevřít terminál a zadat příkaz:

Použijte příkaz systemctl --type=service, ale namísto „running“ v parametru --state= použijte „inactive“. Tímto způsobem zjistíte, které služby Systemd jsou v systému neaktivní.

systemctl --type=service --state=inactive

Stejně jako u aktivních služeb, Systemd vygeneruje přehlednou tabulku s neaktivními službami. Pro filtrování a nalezení konkrétní služby můžete opět kombinovat s příkazem grep.

Například, pro zjištění, zda je služba „updatedb.service“ neaktivní, použijte:

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

Pro uložení seznamu neaktivních služeb do textového souboru, použijte:

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

Pro zobrazení tohoto souboru použijte cat:

cat  ~/inactive-services.txt

Zobrazení všech nainstalovaných služeb pomocí Systemd

Pro zobrazení všech nainstalovaných služeb Systemd, bez ohledu na jejich stav (aktivní nebo ne), použijte příkaz systemctl list-unit-files --type=service. Vynecháním parametru --state získáte seznam všech služeb.

systemctl list-unit-files --type=service

Po spuštění tohoto příkazu Systemd zobrazí tabulku se všemi službami v systému. Pro filtrování a nalezení konkrétní služby můžete opět použít grep.

Pro filtrování a hledání konkrétní služby použijte například:

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

Pro export všech služeb do textového souboru pro pozdější použití, použijte:

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

Pro zobrazení tohoto souboru použijte cat:

cat ~/service-files.txt

Zobrazení stavu jednotlivých služeb pomocí Systemd

Kromě výpisu všech služeb, je také užitečné zobrazit stav jednotlivých služeb. K tomu použijeme příkaz systemctl status.

V terminálu zadejte systemctl status následovaný názvem služby, například pro stav „NetworkManager.service“:

systemctl status NetworkManager

Pro uložení výstupu příkazu status do textového souboru, použijte:

systemctl status MyService > ~/MyService-status.txt

Pro zobrazení obsahu souboru použijte cat:

cat ~/MyService-status.txt