Att hantera tjänster är ett av Linux-systemadministratörers huvudansvar. Att veta hur man hanterar systemtjänster är också viktigt för Linux-användare eftersom de kan behöva hantera tjänster på ett eller annat sätt.
Den här guiden tar en titt på hur man hanterar systemd-tjänster med kommandot systemctl.
Vad är systemd?
Systemd är en system- och tjänstehanterare för Linux-operativsystem. Det är standardservicehanteraren i många Linux-distros inklusive Ubuntu, Red RHEL, OpenSuse och Arch Linux. Systemd är en efterföljare till äldre servicechefer som System V och Upstart.
Till skillnad från System V service manager, syftar systemd till att vara effektivare genom att starta tjänster parallellt för att påskynda Linux-startprocessen. En annan unik egenskap hos systemd är att den tillhandahåller tjänster på begäran, dvs den kan skjuta upp starten av en tjänst till endast när systemet behöver det, vilket avsevärt förbättrar prestandan.
Systemd är inte bara begränsat till att hantera operativa processer eller tjänster, utan kan också användas för att montera filsystem, övervaka nätverk, köra timers och mer.
Hantera systemd-tjänster med systemctl
I Linux är systemctl command är ansvarig för att hantera systemd services. Om du har /usr/lib/systemd katalog på ditt system, då använder du troligen systemd service manager.
Du kan också köra något av följande kommandon för att kontrollera om systemd service manager är tillgänglig på ditt system.
systemctl --version
systemd --version
Kontrollera status för en tjänst
För att kontrollera statusen för en viss tjänst på ditt system, använd status kommando följt av namnet på tjänsten du vill kontrollera.
Till exempel för att kontrollera statusen för hamnarbetare tjänst kan du köra följande kommando. Docker är ett modernt virtualiseringsprogram som används av mjukvaruutvecklare för att bygga applikationer effektivt.
systemctl status docker
Notera: Systemctl hjälpmanualen hänvisar till verbet efter systemctl som ett kommando också, därför kommer denna guide att hålla sig till den definitionen för konsekvens.
Förutom att lista tjänstens status, status kommandot ger dig också viktig information som tjänstens process-ID, minnesanvändning och en enkel lista över de senaste ändringarna i tjänsten.
Att känna till statusen för en tjänst är ett av de primära sätten du kommer att använda för att felsöka fel eller diagnostisera problem. Innan vi går in på detaljer om varför något inte fungerar, tenderar systemadministratörer att kontrollera om tjänsten är igång först.
Listningstjänster med systemctl
Ofta behöver du veta vilka tjänster som är tillgängliga på ditt system innan du kan fortsätta att hantera dem. Du kan använda följande kommando för att lista alla tillgängliga tjänster på ditt system.
systemctl list-unit-files --type service --all
Förutom att lista de tjänster som är tillgängliga på ditt system, kommer kommandot också att visa status för dessa tjänster. De vanligaste tillstånden inkluderar; aktiverad, inaktiverad, maskerad, etc.
Starta och stoppa tjänster
De sluta kommandot används för att stoppa en tjänst som du inte längre vill köra. Till exempel för att stoppa hamnarbetare service:
systemctl stop docker
Det finns flera skäl att stoppa tjänster på din Linux-maskin. Oanvända tjänster förbrukar onödiga systemresurser och påverkar din dators prestanda negativt.
Om en tjänst förbrukar för mycket minne, överväg andra alternativ för att hantera minne i Linux. Att ha flera tjänster igång är också en potentiell säkerhetsrisk eftersom du exponerar fler portar för exploatering till omvärlden.
För att starta en tjänst som inte körs, använd Start kommando. Till exempel för att starta hamnarbetare tjänst som du nyligen stoppade:
systemctl start docker
Om du vill stoppa en tjänst och sedan starta om den omedelbart kan du använda omstart kommando enligt följande.
systemctl restart docker
Aktivera och inaktivera tjänster
Villkoren Möjliggör och Startande tjänster är ofta förvirrande för vissa Linux-användare. Genom att aktivera en tjänst menar du att tjänsten ska göras tillgänglig när systemet startar, eller ställer in en tjänst redo när specifik hårdvara är ansluten. Så här aktiverar du docker-tjänsten på Linux:
systemctl enable docker
För att inaktivera en tjänst från att starta vid uppstart kan du använda inaktivera kommando. Till exempel, utfärda följande kommando för att inaktivera hamnarbetare service.
systemctl disable docker
Det finns många andra kommandon och alternativ som du kan använda för att hantera tjänster på ditt system. Kör hjälpkommandot systemctl –hjälp eller ta en titt på systemctl-man-sidorna om du inte kan ta reda på hur du kommer runt kommandot.
man systemctl
Många gånger startar vissa tjänster när systemet startar. Dessa tjänster, om de inte behövs av systemet, påverkar datorns övergripande prestanda. Du kan enkelt stoppa sådana starttjänster och demoner på Linux.
Om författaren
Mwiza Kumwenda (48 artiklar publicerade)
Mwiza utvecklar mjukvara till yrket och skriver mycket om Linux och front-end-programmering. Några av hans intressen inkluderar historia, ekonomi, politik och företagsarkitektur.
Mer från Mwiza Kumwenda
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
