Mainstream Linux-distributies gebruiken allemaal Systemd, een init-systeem dat werkt op basis van het in- en uitschakelen van “service” -bestanden. Als u deze servicebestanden probeert op te sommen, maar niet weet hoe u dit moet doen, moet u de opdracht systemctl gebruiken.
In deze handleiding bespreken we de verschillende manieren waarop u Systemd-servicebestanden op Linux kunt weergeven. Zorg ervoor dat u een Linux-besturingssysteem met Systemd gebruikt om aan de slag te gaan. Open vervolgens een terminalvenster en volg.
Gebruik Systemd om actieve services weer te geven
Als je Systemd veel gebruikt, wil je op een gegeven moment misschien weten welke services actief zijn terwijl je Linux-systeem wordt opgestart. Het aanbieden van actieve services is heel eenvoudig en u kunt dit doen met de opdracht systemctl –type=service systemctl –type=service –state=running.
Wanneer deze opdracht wordt uitgevoerd, wordt een tabel met alle services weergegeven, als ze actief zijn, evenals een korte beschrijving. Om dit programma uit te voeren, opent u een terminalvenster. Zodra het terminalvenster is geopend, voert u de onderstaande opdracht uit.
systemctl --type=service --state=running
Als je alle actieve services voor een bepaalde service probeert te filteren, kan het behoorlijk vervelend zijn om door deze grote tabel te kijken. Gelukkig kan de opdracht systemctl worden gecombineerd met de opdracht grep als filtermechanisme.
Om bijvoorbeeld te controleren of de “snapd.service” actief en geladen is, kunt u systemctl –type=service –state=running | grep ‘snapd’, en de uitvoer toont alleen de Snapd-service, in plaats van de hele tabel.
systemctl --type=service --state=running | grep 'snapd'
Als u de uitvoer van de tabel voor later in een tekstbestand wilt opslaan, gebruikt u de volgende opdracht.
systemctl --type=service --state=runningrunning > ~/active-services.txt
Voer de onderstaande cat-opdracht uit om het tekstbestand op elk gewenst moment te bekijken.
cat ~/active-services.txt
Gebruik Systemd om inactieve services weer te geven
Het vermelden van actieve Systemd-services is handig, maar hoe zit het met inactieve services? Ja, het is mogelijk om die ook op te lijsten. Hier is hoe. Open eerst een terminalvenster.
Zodra het terminalvenster is geopend en klaar voor gebruik, voert u de opdracht systemctl –type=service uit, maar plaatst u in het slot –state= “inactive” in plaats van “running”. Door dit te doen, kunt u zien welke Systemd-services inactief zijn op uw Linux-systeem.
systemctl --type=service --state=inactive
Net als bij de actieve services, zal Systemd een mooie, nette tabel maken en je laten zien welke Systemd-services inactief, dood en niet in gebruik zijn. Als je door deze tabel wilt filteren om te zien of een specifieke service dood is, kun je deze combineren met het grep-commando.
Om bijvoorbeeld te bepalen of het bestand “updatedb.service” inactief is, kunt u systemctl –type=service –state=inactive combineren met de onderstaande grep-opdracht om de tabel ernaar te zoeken.
systemctl --type=service --state=inactive | grep 'updatedb.service'
Als u alle inactieve Systemd-servicebestanden in een tekstbestand moet opslaan om ze later te kunnen lezen, gebruikt u de volgende opdracht.
systemctl --type=service --state=inactive > ~/inactive-services.txt
Gebruik de opdracht cat om dit tekstbestand rechtstreeks vanuit het terminalvenster te lezen.
cat ~/inactive-services.txt
Gebruik Systemd om alle geïnstalleerde services weer te geven
Als u alle geïnstalleerde Systemd-services wilt zien, of ze nu actief zijn of niet, moet u de opdracht systemctl list-unit-files –type=service gebruiken en de opdrachtregeloptie –state uitsluiten. Door -state uit te sluiten, kan Systemd elk servicebestand op uw computer gemakkelijk weergeven.
systemctl list-unit-files --type=service
Zodra de bovenstaande opdracht is uitgevoerd, zal Systemd een tabel afdrukken met elk servicebestand op het systeem. Vanaf hier kunt u de tabel doorzoeken om het servicebestand te vinden dat u nodig hebt.
Als u een specifiek servicebestand niet kunt vinden, kunt u het commando systemctl list-unit-files –type=service combineren met het grep-commando om een filter te gebruiken. Gebruik de onderstaande opdracht om de tabel te filteren om het servicebestand te vinden dat u nodig hebt.
systemctl list-unit-files --type=service | grep 'my-service'
Wilt u alle Systemd-services exporteren naar een tekstbestand om later te lezen? Voer de volgende opdracht uit.
systemctl list-unit-files --type=service > ~/service-files.txt
U kunt het tekstbestand op elk moment bekijken met het onderstaande cat-commando.
cat ~/service-files.txt
Gebruik Systemd om de status van individuele service weer te geven
Hoewel het handig is om te weten hoe u alle Systemd-services kunt weergeven, zowel actieve als inactieve, is het ook handig om te weten hoe u de status van services afzonderlijk kunt weergeven. Hier is hoe het te doen.
Open eerst een terminalvenster. Zodra het terminalvenster is geopend, gebruikt u de opdracht systemctl-status voor een bepaalde service. Om bijvoorbeeld de status van “NetworkManager.service” te vinden, wordt de volgende opdracht uitgevoerd.
systemctl status NetworkManager
Als u de uitvoer van de statusopdracht naar een tekstbestand wilt exporteren om later te lezen, kunt u de onderstaande opdracht invoeren.
systemctl status MyService > ~/MyService-status.txt
Voer het volgende cat-commando uit om dit bestand te bekijken.
cat ~/MyService-status.txt