Hvordan bruke Systemd til å liste tjenester

Vanlige Linux-distribusjoner bruker alle Systemd, et init-system som fungerer basert på å aktivere og deaktivere «tjeneste»-filer. Hvis du prøver å liste disse tjenestefilene, men ikke vet hvordan du gjør det, må du bruke systemctl-kommandoen.

I denne veiledningen vil vi gå over de forskjellige måtene du kan liste Systemd-tjenestefiler på Linux. For å komme i gang, sørg for at du bruker et Linux OS med Systemd. Åpne deretter et terminalvindu og følg med.

Bruk Systemd for å liste aktive tjenester

Hvis du bruker Systemd mye, på et tidspunkt, vil du kanskje vite hvilke tjenester som er aktive mens Linux-systemet er startet opp. Det er veldig enkelt å liste opp aktive tjenester, og du kan gjøre det med systemctl –type=service systemctl –type=service –state=running-kommandoen.

Denne kommandoen, når den kjøres, vil vise en tabell over alle tjenester, hvis de er aktive, samt en kort beskrivelse. For å kjøre dette programmet, åpne et terminalvindu. Når terminalvinduet er åpent, utfør kommandoen nedenfor.

systemctl --type=service --state=running

Hvis du prøver å filtrere gjennom alle aktive tjenester for en bestemt tjeneste, kan det være ganske kjedelig å se gjennom denne store tabellen. Heldigvis kan systemctl-kommandoen kombineres med grep-kommandoen som en filtreringsmekanisme.

  Varsling er der materialdesign møter varsler på låseskjerm

For eksempel, for å sjekke om “snapd.service” kjører og laster, kan du kjøre systemctl –type=service –state=running | grep «snapd», og utdataene vil bare vise Snapd-tjenesten, i stedet for hele tabellen.

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

Hvis du vil lagre utdataene fra tabellen til en tekstfil for senere, bruk følgende kommando.

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

For å se tekstfilen når som helst, utfør cat-kommandoen nedenfor.

cat ~/active-services.txt

Bruk Systemd for å liste inaktive tjenester

Det er nyttig å føre opp aktive Systemd-tjenester, men hva med inaktive? Ja, det er mulig å liste disse også. Dette er hvordan. Først åpner du et terminalvindu.

Når terminalvinduet er åpent og klart til bruk, utfør systemctl –type=service-kommandoen, men i –state=-sporet, plasser «inaktiv» i stedet for «kjører». Ved å gjøre dette kan du se hvilke Systemd-tjenester som er inaktive på Linux-systemet ditt.

systemctl --type=service --state=inactive

Som med de aktive tjenestene, vil Systemd lage en fin, pen tabell og vise deg hvilke Systemd-tjenester som er inaktive, døde og ikke i bruk. Hvis du vil filtrere gjennom denne tabellen for å finne ut om en bestemt tjeneste er død, kan du kombinere den med grep-kommandoen.

  Hvordan ta opp skjermen med Microsoft PowerPoint

For å finne ut om filen «updatedb.service» er inaktiv, kan du for eksempel kombinere systemctl –type=service –state=inactive med grep-kommandoen nedenfor for å søke etter den i tabellen.

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

Hvis du trenger å lagre alle inaktive Systemd-tjenestefiler til en tekstfil for senere lesing, bruk følgende kommando.

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

For å lese denne tekstfilen rett fra terminalvinduet, bruk cat-kommandoen.

cat  ~/inactive-services.txt

Bruk Systemd for å liste alle installerte tjenester

Hvis du trenger å se alle installerte Systemd-tjenester, enten de er aktive eller ikke, må du bruke systemctl list-unit-files –type=service-kommandoen og ekskludere kommandolinjebryteren –state. Ved å ekskludere –state, vil Systemd enkelt kunne liste hver tjenestefil på datamaskinen din.

systemctl list-unit-files --type=service

Når kommandoen ovenfor er utført, vil Systemd skrive ut en tabell med hver tjenestefil på systemet. Herfra kan du sortere i tabellen for å finne tjenestefilen du trenger.

Hvis du ikke finner en bestemt tjenestefil, kan du kombinere systemctl list-unit-files –type=service-kommandoen med grep-kommandoen for å bruke et filter. Bruk kommandoen nedenfor, filtrer tabellen for å finne tjenestefilen du trenger.

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

Vil du eksportere alle Systemd-tjenester til en tekstfil for å lese senere? Utfør følgende kommando.

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

Du kan se tekstfilen når som helst med cat-kommandoen nedenfor.

cat ~/service-files.txt

Bruk Systemd for å vise status for individuell tjeneste

Selv om det er nyttig å vite hvordan man viser alle Systemd-tjenester, de som er aktive og inaktive, er det også nyttig å vite hvordan man viser statusen til tjenestene individuelt. Slik gjør du det.

  Slik fikser du CE-34788-0 PS4-feilkoden

Først åpner du et terminalvindu. Når terminalvinduet er åpent, bruk systemctl-statuskommandoen på en bestemt tjeneste. For å finne statusen til «NetworkManager.service» kjøres for eksempel følgende kommando.

systemctl status NetworkManager

Hvis du vil eksportere statuskommandoens utdata til en tekstfil for senere lesing, kan du skrive inn kommandoen nedenfor.

systemctl status MyService > ~/MyService-status.txt

For å se denne filen, utfør følgende cat-kommando.

cat ~/MyService-status.txt

x