Linux -datamaskinen din er avhengig av mange bakgrunnsoppgaver som kalles tjenester eller demoner. På SystemD-baserte distribusjoner har du innebygde kommandoer som lar deg se hvilke tjenester som kjører, deaktivert eller mislyktes.
Tjenester og demoner
Tjenester og demoner er bakgrunnsoppgaver som kjøres uten brukergrensesnitt, krever ikke menneskelig interaksjon og startes vanligvis når datamaskinen starter opp.
På en gang ble tjenester lansert av
i det
, som var den aller første prosessen som ble lansert. Detaljene om tjenestene ble holdt i en samling skript som ligger i katalogen “/etc/init/d”. På ikke-systemdistribusjoner er det fortsatt tilfelle.
I SystemD -verdenen lanseres tjenester av
Systemd
som er den nå første prosessen som skal lanseres. Detaljene om tjenestene er lagret i
enhetsfiler
Ligger i katalogen “/USR/LIB/SystemD”.
I følge Man -siden,
Systemd
er et system- og servicesjef. Du kan bruke
SystemCTL
Kommando for å inspisere og kontrollere forskjellige aspekter av SystemD -systemet, inkludert tjenester og demoner.
Fordi vi ser på SystemD-spesifikke kommandoer her, er det første du trenger å vite om du kjører en Systemd-basert distribusjon eller ikke.
I SLEKT: Hvorfor Linuxs systemd fortsatt er splittende etter alle disse årene
init eller systemd basert?
De aller fleste Linux -distribusjoner bruker SystemD, inkludert Arch, Red Hat og Debian, og mange av distribusjonene avledet fra dem. Det inkluderer Ubuntu Familie av distribusjoner, Fedora og spinnene, og Manjaro og de andre erkebaserte distribusjonene.
Imidlertid er det gafler eller smaker av noen av disse distribusjonene som er opprettet spesielt for å unngå å måtte bruke SystemD. Ikke bare det, men det er andre init -systemer som noen kan velge å bruke i stedet for den som kom som standard i distribusjonen deres, for eksempel Runit eller S6-Linux-init .
Hvis du må administrere en Linux -datamaskin som du ikke satte opp selv, er den eneste måten å være sikker på om den bruker SystemD eller ikke, å sjekke. Vi kan gjøre det ved å se på prosess treet med
Pstree
kommando. Vi trenger bare å se helt øverst på treet - vi leter etter den aller første prosessen som tross alt kjører - så vi vil røre produksjonen gjennom
hode
kommando, og be om de fem første oppføringene.
Vi kan se det
Systemd
er den første prosessen som kjøres etter oppstart, så vi er definitivt på en SystemD-basert installasjon av Linux.
I SLEKT: Hvordan administrere prosesser fra Linux -terminalen: 10 kommandoer du trenger å vite
Bruke SystemCTL for å liste tjenester
Kommandoen for å liste tjenester og demoner er
SystemCTL
. Vi kan avgrense
SystemCTL
kommando med
type
og
stat
alternativer. Vi spør
SystemCTL
å rapportere om tjenester som er i løpende tilstand.
En informasjonstabell genereres. Hvis det er for bredt eller lang for terminalvinduet ditt, vises det i standard filviseren, som sannsynligvis kommer til å være
mindre
.
For å se høyre ende av tabellen, trykk på høyre pil. For å gå tilbake til vanlig visning, trykk på venstre piletasten.
Trykk på Q -tasten for å avslutte fra mindre. Kolonnene som vises er:
-
Enhet
: Navnet på tjenesten eller demonen. Kolonnen har tittelen “Enhet” fordi det som er i denne kolonnen ble lansert ved hjelp av informasjon
Systemdfunnet i en enhetsfil. - Laste : Lastetilstanden til tjenesten eller demonen. Den kan lastes, ikke-funnet, dårlig innstilling, feil eller maskert.
- Aktiv : Den generelle tilstanden tjenesten eller demonen er i. Den kan være aktiv, omlasting, inaktiv, mislykket, aktiverende eller deaktiverende.
- UNDER : Understaten til tjenesten eller demonen. Det kan være død, forlatt, mislykket, inaktiv eller løping.
- Beskrivelse : En kort beskrivelse av enheten.
Vi kan røre utgangen fra
SystemCTL
gjennom
grep
Hvis vi vil fokusere på en enkelt tjeneste. Denne kommandoen isolerer tabelloppføringen for
ssh
service.
Så langt har vi filtrert innholdet i tabellen ved å gi
tilstand = løping
alternativ. Vi kan bruke noen av de mulige verdiene til understaten i stedet: død, forlatt, mislykket, inaktiv eller løping.
Kombinasjoner av understater kan brukes. Skriv dem som en komma-separert liste. Forsikre deg om at du ikke inkluderer noe hvitrom mellom alternativene. Merk at dette finner tjenester som samsvarer enten stat.
Ved å trykke på høyre piltast for å se på kolonnene utenfor skjermen viser vi at vi har en blanding av forlot og mislykkede tjenester på listen.
Som standard,
SystemCTL
viser prosesser - tjenester og demoner - som er lansert av
Systemd
fordi
Systemd
Fant en enhetsfil som inneholdt en gyldig enhetsfil for dem. Det er grunnen til at kortvarig termin for alle disse prosessene er "enheter."
Det er et alternativ å eksplisitt be om
SystemCTL
For å liste opp enheter, men ettersom det er standardhandling, brukes den ikke ofte.
Bruke SystemCTL for å liste enhetsfiler
Vi kan utvide omfanget av
SystemCTL
kommando ved å inkludere
Liste-enhetsfiler
alternativ. Dette rapporterer ikke bare om tjenester og demoner som er lansert, det viser også alle
enhetsfiler
installert på datamaskinen din.
Fjerne
stat
Alternativet fjerner filtreringen. Utgangen vil inneholde alle installerte enhetsfiler, uavhengig av tilstand.
Utgangen vil inneholde mange flere oppføringer enn resultatene fra de tidligere kommandoene.
På vår testdatamaskin er resultatlisten nesten fire ganger lengre enn utdataene fra våre tidligere kommandoer.
Hvis du vil bruke
stat
Alternativ, kan du bruke flere tilstander med det som vi så tidligere. De samme reglene gjelder. Gi alternativene som komma -separerte verdier og inkluderer ikke noe hvitrom.
Denne kommandoen vil liste opp alle enhetsfiler som enten er deaktivert eller ikke klarte å starte.
Et redusert antall resultater vises, filtrert i henhold til valgene du har gjort med statlig alternativ.
Ser på en tjeneste i detalj
Hvis noe med en tjeneste eller demon gir din interesse og fortjener et dypere dykk, kan du se på det i detalj ved hjelp av SystemCTL -statusalternativet.
La oss se på SSH Daemon, SSHD. Alt vi trenger å gjøre er å bruke statusalternativet og navnet på tjenesten eller demonen.
- Navnet på tjenesten sammen med en kort beskrivelse. En fargekodet prikk viser om den kjører eller ikke. Grønt betyr at det kjører, rødt betyr at det ikke er det.
- Hva som ble lastet, inkludert banen til enhetsfilen.
- Hvor lenge det har kjørt.
-
Der dokumentasjonen ligger i
MannHåndbok. - Prosess -ID for løpende forekomst.
- Hvor mange samtidige forekomster av denne tjenesten kjører. Vanligvis vil dette være en.
- Hvor mye minne blir konsumert.
- Hvor mye CPU -tid har blitt konsumert.
- Kontrollgruppen tjenesten tilhører.
Relevante oppføringer fra systemloggen vises også. Dette er vanligvis hendelser som oppstart av tjenesten. Disse kan være informative hvis du ser på en tjeneste eller en demon som ikke lanserte riktig.
I SLEKT: Hvordan bruke JournalCTL for å lese Linux System Logs
De autonome systemene
Tjenester og demoner gir mange av de automatiske handlingene til operativsystemet ditt, så de er viktige. Det betyr at helsen deres også er viktig.
Det er enkelt og informativt å få et syn på tjenestene dine, demoner og enhetsfiler og informative. Det er også et verdifullt feilsøkingstrinn hvis en tjeneste eller demon nekter å starte.
I SLEKT: Hvordan du løser feilen "for mange åpne filer" på Linux
- › Hvordan kjøre et Linux -program ved oppstart med SystemD
- › Wyze er nede, det er ikke bare deg
- › Hvordan blokkere eller fjerne blokkering av noen på Tiktok
- › De beste øreproppene for iPhone -fans treffer nettopp den laveste prisen
- › Microsoft forvandler Bing til en AI -søkemotor
- › OnePlus 11 er her, men med en grov start
- › Microsoft Edge får AI -chat og et nytt utseende på Windows