Din Linux -dator förlitar sig på många bakgrundsuppgifter som kallas tjänster eller demoner. På systemd-baserade distributioner har du inbyggda kommandon som låter dig se vilka tjänster som körs, inaktiveras eller misslyckas.
Tjänster och demoner
Tjänster och demoner är bakgrundsuppgifter som körs utan ett användargränssnitt, kräver inte mänsklig interaktion och startas vanligtvis när datorn startar upp.
På en gång lanserades tjänster av
i det
, som var den allra första processen som lanserades. Detaljerna för tjänsterna hölls i en samling skript beläget i katalogen "/etc/init/d". På icke-systemdistributioner är det fortfarande fallet.
I Systemd -världen lanseras tjänster av
systemd
vilket är den nu första processen som ska lanseras. Detaljerna för tjänsterna lagras i
enhetsfiler
Beläget i katalogen "/usr/lib/systemd".
Enligt dess man sida,
systemd
är en system- och servicechef. Du kan använda
systemctl
Kommando för att inspektera och kontrollera olika aspekter av systemdsystemet, inklusive tjänster och demoner.
Eftersom vi tittar på systemdspecifika kommandon här är det första du behöver veta om du kör en systemd-baserad distribution eller inte.
RELATERAD: Varför Linuxs systemd fortfarande är delande efter alla dessa år
init eller systemd baserat?
De allra flesta Linux -distributioner använder systemd, inklusive Arch, Red Hat och Debian, och många av de distributioner som härrör från dem. Som inkluderar Ubuntu Distributionsfamilj, Fedora och dess snurr och Manjaro och de andra ärkbaserade distributionerna.
Det finns emellertid gafflar eller smaker av några av dessa distributioner som har skapats specifikt för att undvika att behöva använda systemd. Inte bara det, utan det finns andra init -system som någon kan välja att använda istället för det som kom som standard i deras distribution, till exempel kör det eller s6-linux-init .
Om du måste administrera en Linux -dator som du inte ställde in själv, är det enda sättet att vara säker på om den använder systemd eller inte, att kontrollera. Vi kan göra det genom att titta på processträdet med
pstree
kommando. Vi behöver bara se toppen av trädet - vi letar efter den allra första processen som går, trots allt - så vi kommer att röra utgången genom
huvud
kommando och be om de första fem posterna.
Vi kan se det
systemd
är den första processen som körs efter start, så vi är definitivt på en systemd-baserad installation av Linux.
RELATERAD: Hur man hanterar processer från Linux -terminalen: 10 kommandon du behöver veta
Använda SystemCTL för att lista tjänster
Kommandot att lista tjänster och demoner är
systemctl
. Vi kan förfina
systemctl
kommando med
typ
och
stat
alternativ. Frågar vi
systemctl
att rapportera om tjänster som är i löpande tillstånd.
En informationstabell genereras. Om det är för brett eller långt för ditt terminalfönster visas det i din standardfilvisare, som troligen kommer att vara
mindre
.
För att se den högra änden av tabellen trycker du på höger pilknapp. För att återgå till den vanliga vyn trycker du på den vänstra pilknappen.
Tryck på Q -knappen för att avsluta från mindre. Kolumnerna som visas är:
-
Enhet
: Namnet på tjänsten eller Daemon. Kolumnen heter "Enhet" eftersom vad som helst i den här kolumnen lanserades med information
systemdfinns i en enhetsfil. - Ladda : Lasttillståndet för tjänsten eller Daemon. Det kan laddas, inte-fund, dålig inställning, fel eller maskerad.
- Aktiva : Det övergripande tillståndet tjänsten eller demonen är i. Den kan vara aktiv, ladda, inaktivt, misslyckats, aktivera eller inaktivera.
- SUB : Understaten för tjänsten eller Daemon. Det kan vara dött, lämnas, misslyckas, inaktivt eller springa.
- Beskrivning : En kort beskrivning av enheten.
Vi kan rör utgången från
systemctl
genom
grep
Om vi vill fokusera på en enda tjänst. Detta kommando isolerar tabellposten för
ssh
service.
Hittills har vi filtrerat innehållet i tabellen genom att tillhandahålla
tillstånd = körning
alternativ. Vi kan använda något av de möjliga värdena i understaten istället: döda, utövade, misslyckade, inaktiva eller löpning.
Kombinationer av understater kan användas. Skriv dem som en kommaseparerad lista. Se till att du inte inkluderar någon vitrum mellan alternativen. Observera att detta hittar tjänster som matchar antingen stat.
Om du trycker på höger pilknapp för att titta på kolumnen utanför skärmen visar att vi har en blandning av exitna och misslyckade tjänster i listan.
Som standard
systemctl
Listor processer - tjänster och demoner - som har lanserats av
systemd
därför att
systemd
Hittade en enhetsfil som innehöll en giltig enhetsfil för dem. Det är därför den korta termen för alla dessa processer är "enheter."
Det finns ett alternativ att uttryckligen begära
systemctl
För att lista enheter, men eftersom det är standardåtgärden används den inte ofta.
Använda SystemCTL för att lista enhetsfiler
Vi kan utöka omfattningen av
systemctl
kommando genom att inkludera
listan
alternativ. Detta rapporterar inte bara om tjänster och demoner som har lanserats, det listar också alla
enhetsfiler
installerat på din dator.
Ta bort den
stat
Alternativet tar bort filtreringen. Utgången kommer att innehålla alla installerade enhetsfiler, oavsett deras tillstånd.
Utgången kommer att innehålla många fler poster än resultaten från tidigare kommandon.
På vår testdator är resultatlistan nästan fyra gånger längre än utgången från våra tidigare kommandon.
Om du vill använda
stat
Alternativ, du kan använda flera tillstånd med det som vi såg tidigare. Samma regler gäller. Ange alternativen som kommaseparerade värden och inkluderar inte någon vitrum.
Detta kommando kommer att lista alla enhetsfiler som antingen är inaktiverade eller misslyckades med att starta.
Ett reducerat antal resultat visas, filtreras enligt de val du gjorde med tillståndsalternativet.
Tittar på en tjänst i detalj
Om något om en tjänst eller Daemon piques ditt intresse och förtjänar ett djupare dyk, kan du titta på det i detalj med hjälp av SystemCTL -statusalternativet.
Låt oss titta på SSH -demonen, SSHD. Allt vi behöver göra är att använda statusalternativet och namnet på tjänsten eller daemon.
- Namnet på tjänsten tillsammans med en kort beskrivning. En färgkodad prick visar om den körs eller inte. Grönt betyder att det går, rött betyder att det inte är det.
- Vad som laddades, inklusive sökvägen till enhetsfilen.
- Hur länge det har körts.
-
Där dokumentationen finns i
manmanuell. - Process -ID för den löpande instansen.
- Hur många samtidiga instanser av denna tjänst körs. Vanligtvis kommer detta att vara en.
- Hur mycket minne konsumeras.
- Hur mycket CPU -tid har konsumerats.
- Kontrollgruppen tjänsten tillhör.
Relevanta poster från systemloggen visas också. Dessa är vanligtvis händelser som start av tjänsten. Dessa kan vara informativa om du tittar på en tjänst eller demon som inte startade korrekt.
RELATERAD: Hur man använder JournalCTL för att läsa Linux -systemloggar
De autonoma systemen
Tjänster och demoner tillhandahåller många av de automatiska åtgärderna i ditt operativsystem, så de är viktiga. Det betyder att deras hälsa också är avgörande.
Att få en bild av dina tjänster, demoner och enhetsfiler är enkelt och informativt. Det är också ett värdefullt felsökningssteg om en tjänst eller demon vägrar att starta.
RELATERAD: Hur man löser felet "för många öppna filer" på Linux
- › Hur man kör ett Linux -program vid start med Systemd
- › Wyze är nere, det är inte bara du
- › Hur man blockerar eller avblockerar någon på tiktok
- › De bästa öronsnäckorna för iPhone -fans träffade bara deras lägsta pris
- › Microsoft förvandlar Bing till en AI -sökmotor
- › OnePlus 11 är här, men med en grov start
- › Microsoft Edge får AI -chatt och ett nytt utseende på Windows