Sådan bruger du Systemd til at liste tjenester

Mainstream Linux-distributioner bruger alle Systemd, et init-system, der fungerer baseret på at aktivere og deaktivere “service”-filer. Hvis du forsøger at liste disse servicefiler, men ikke ved, hvordan du gør det, skal du bruge systemctl-kommandoen.

I denne vejledning gennemgår vi de forskellige måder, hvorpå du kan liste Systemd-tjenestefiler på Linux. For at komme i gang skal du sikre dig, at du bruger et Linux OS med Systemd. Åbn derefter et terminalvindue og følg med.

Brug Systemd til at angive aktive tjenester

Hvis du bruger Systemd meget på et tidspunkt, vil du måske gerne vide, hvilke tjenester der er aktive, mens dit Linux-system er startet op. Det er meget nemt at angive aktive tjenester, og du kan gøre det med kommandoen systemctl –type=service systemctl –type=service –state=running.

Denne kommando vil, når den køres, vise en tabel over alle tjenester, hvis de er aktive, samt en kort beskrivelse. For at køre dette program skal du åbne et terminalvindue. Når terminalvinduet er åbent, skal du udføre kommandoen nedenfor.

  Download filer og se fremskridt uden en browser med filoverførsel

systemctl --type=service --state=running

Hvis du forsøger at filtrere gennem alle aktive tjenester for en bestemt tjeneste, kan det være ret kedeligt at kigge gennem denne store tabel. Heldigvis kan systemctl-kommandoen kombineres med grep-kommandoen som en filtreringsmekanisme.

For eksempel, for at kontrollere om “snapd.service” kører og indlæses, kan du køre systemctl –type=service –state=running | grep ‘snapd’, og outputtet vil kun vise Snapd-tjenesten i stedet for hele tabellen.

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

Hvis du gerne vil gemme outputtet fra tabellen til en tekstfil til senere, skal du bruge følgende kommando.

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

For at se tekstfilen til enhver tid skal du udføre cat-kommandoen nedenfor.

cat ~/active-services.txt

Brug Systemd til at vise inaktive tjenester

Det er nyttigt at angive aktive Systemd-tjenester, men hvad med inaktive? Ja, det er også muligt at angive dem. Sådan gør du. Åbn først et terminalvindue.

Når terminalvinduet er åbent og klar til brug, skal du udføre systemctl –type=service-kommandoen, men i –state=-pladsen skal du placere “inaktiv” i stedet for “kører”. Ved at gøre dette kan du se, hvilke Systemd-tjenester der er inaktive på dit Linux-system.

  Identificer tonsvis af forskellige filtyper uden at åbne dem med TrID

systemctl --type=service --state=inactive

Ligesom med de aktive tjenester, vil Systemd skabe en flot, pæn tabel og vise dig, hvilke Systemd-tjenester der er inaktive, døde og ikke i brug. Hvis du gerne vil filtrere gennem denne tabel for at finde ud af, om en bestemt tjeneste er død, kan du kombinere den med kommandoen grep.

For at afgøre, om filen “updatedb.service” er inaktiv, kan du f.eks. kombinere systemctl –type=service –state=inactive med grep-kommandoen nedenfor for at søge efter den i tabellen.

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

Hvis du har brug for at gemme alle inaktive Systemd-tjenestefiler i en tekstfil til senere læsning, skal du bruge følgende kommando.

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

For at læse denne tekstfil direkte fra terminalvinduet skal du bruge kat-kommandoen.

cat  ~/inactive-services.txt

Brug Systemd til at liste alle installerede tjenester

Hvis du har brug for at se alle installerede Systemd-tjenester, uanset om de er aktive eller ej, skal du bruge systemctl list-unit-files –type=service-kommandoen og udelukke –state-kommandolinjeomskifteren. Ved at ekskludere –state, vil Systemd være i stand til nemt at liste hver eneste servicefil på din computer.

systemctl list-unit-files --type=service

Når ovenstående kommando er udført, udskriver Systemd en tabel med hver servicefil på systemet. Herfra kan du sortere i tabellen for at finde den servicefil, du har brug for.

  Gem en midlertidig historik for din inkognito-session i Chrome

Hvis du ikke kan finde en specifik servicefil, kan du kombinere systemctl list-unit-files –type=service-kommandoen med grep-kommandoen for at bruge et filter. Brug kommandoen nedenfor til at filtrere tabellen for at finde den servicefil, du har brug for.

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

Vil du eksportere alle Systemd-tjenester til en tekstfil, som du kan læse senere? Udfør følgende kommando.

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

Du kan til enhver tid se tekstfilen med kat-kommandoen nedenfor.

cat ~/service-files.txt

Brug Systemd til at vise status for individuelle tjenester

Selvom det er nyttigt at vide, hvordan man angiver alle Systemd-tjenester, dem der er aktive og inaktive, er det også nyttigt at vide, hvordan man viser status for tjenester individuelt. Sådan gør du det.

Åbn først et terminalvindue. Når terminalvinduet er åbent, skal du bruge systemctl-statuskommandoen på en bestemt tjeneste. For f.eks. at finde status for “NetworkManager.service”, køres følgende kommando.

systemctl status NetworkManager

Hvis du gerne vil eksportere statuskommandoens output til en tekstfil til senere læsning, kan du indtaste kommandoen nedenfor.

systemctl status MyService > ~/MyService-status.txt

For at se denne fil skal du udføre følgende cat-kommando.

cat ~/MyService-status.txt