Lär dig Linux

5 snabba sätt att döda en process i Linux

5 snabba sätt att döda en process i Linux

Linux-operativsystemet erbjuder flera sätt att avsluta en Linux-operativsystemprocess. Det uppenbara sättet att stoppa ett program är genom att klicka på X-knappen i det övre vänstra eller högra hörnet. Men det finns otaliga andra sätt att döda en process; vi är här för att diskutera andra effektiva sätt.

Sätt att döda en process i Linux

Kontrollsekvens

Det andra uppenbara sättet att döda en process som just har startat är att skriva Ctrl-C i kommandoraden. Ctrl-C-kontrollsekvensen är i allmänhet säker att använda även om viss dataförlust är möjlig.

Ctrl-Z-sekvensen avbryter en pågående process. Den skickar SIGTSP-signalen till en process vars standardåtgärd är att avbryta processen.

döda kommandon

Linux-operativsystemet kommer med kill-kommandot som du kan använda för att avsluta en process när de inte svarar eller konsumerar för många resurser. En process i Linux är en instans av ett program.

En unik PID genereras automatiskt för den processen när ett program startar. Init-processen är den första processen som startar när ett Linux-system startas och tilldelas värdet '1'.

Init är huvudprocessen och kan inte dödas genom dödkommandot. Dödkommandot vid init-processen är bara en begäran om att systemet ska stängas av.

Den här guiden tar dig igenom stegen och flera sätt att avsluta en pågående process med Linux-terminalen.

Rotanvändaren har alla behörigheter som krävs för att döda alla processer. Du kan få ett rotskal med kommandot su eller lägga till sudo före kommandot och köra det.

Standardsignalen som skickas av dödkommandot

Att döda en process skickar ett avslutningsmeddelande till den angivna processen. De två huvudtyperna av avslutningsmeddelanden inkluderar:

• SIGTERM - Dödkommandot skickar en SIGTERM-signal som standard. Det bör tillåta att processen avslutas genom sina normala avstängningsprocedurer. Det är ett mildare sätt att försöka avsluta en process och kan blockeras.

• SIGKILL - Det kommer alltid att döda en process plötsligt. Om SIGKILL inte fungerar har operativsystemet misslyckats. Det är den snabbaste och mest effektiva metoden att döda en process.

Lista körprocesser

Det översta kommandot, ps-kommandot och pidof-kommandot är de enklaste sätten att visa körande processer i ett Linux-system.

Syntax:

ps -e | grep processnamn

Skärmbilden nedan visar hur man använder ps-kommandot för att kontrollera om MySQL körs på systemet. Det ger oss PID för MySQL-demonen, som är1162.

Bild som visar hur man använder Grep MySQL

Vanliga alternativ att lägga till i ps-kommandot

• -a: visa processer från alla användare.
• -u: visa detaljerad information om varje process.
• -x: visa alla processer som styrs av demoner.

ps -e

alternativ för att lägga till i ps-kommandot

Syntax:

topp

Det översta kommandot visar PID, användaren, resursens namn och hur många systemresurser varje process använder. Dessa är användbara om du väljer att avsluta någon av processerna.

De bästa kommandoresultaten

Att använda kommandot pgrep är också mycket effektivt för att erhålla motsvarande process-ID.

Med kommandot pgrep

Vanliga alternativ att lägga till i pgrep-kommandot.

• -l: lista processnamn och PID.
• -n: Returnera den senaste processen.
• -o: Returnera den äldsta processen.
• -u: Hitta processer som tillhör en specifik användare.
• -x: Hitta en process som exakt matchar ett visst mönster.

Pidof-kommandot används för att hitta IP: n för en process om du känner till processens namn.

Syntax:

pidof  

Alternativ:

• -c: Returnerar PID i en enda rotkatalog.
• -o: Det kommer att utelämna vissa PID.
• -s: Returnera en enda PID.
• -x: Returnerar PID för skal som kör skript.

Du kan döda en process i Linux genom olika metoder beroende på om du känner till processens PID, namnet på processen eller när processen har körts.

killall-kommandot

Kommandot killall används för att döda processer med namn. Det kan döda flera processer med ett enda kommando och skickar en SIGTERM-signal som standard.

Syntax:

döda alla 

Alternativ tillgängliga med killall-kommandot:

• -e: Returnera den exakta matchningen för processnamnet.
• -I: Kommandot ignorerar fallet när processnamnet hittas.
• -i: Den kommer att be om ytterligare information när man dödar en process med namn.
• -u: Det dödar processer som ägs av en specifik användare av systemet.
• -v: Det kommer att ge feedback om huruvida dödprocessen har genomförts framgångsrikt.

Killall-kommandot kan också avsluta processer i ett Linux-system baserat på processernas körtider.

• -o: Det här alternativet dödar alla processer under mer än den angivna tiden.
• -y: Detta alternativ dödar alla processer som körs mindre än den angivna tiden.

Exempel:

• killall -o 20m: Kommandot dödar alla processer som är äldre än 20 minuter.
• Killall -y 20m: Kommandot dödar alla processer som körs i mindre än 15 minuter.

döda kommandot

Dödkommandot dödar en process om du känner till processens IP.

Syntax:

döda 

Dödkommandot dödar en enda process med det angivna process-ID: t. Kommandot skickar en SIGTERM-signal för att stoppa och vänta på att processen ska genomgå sina rutinmässiga avstängningsprocedurer.

Döda -9-kommandot

Kommandot kill -9 används för att avsluta processer eller tjänster som inte svarar.

Syntax:

döda -9 

eller

döda -SIGKILL 

Kommandot kill -9 skickar en SIGKILL-signal för att stänga av en process omedelbart. Kommandot kill -9 kommer att kringgå standardavstängningsrutinen, och alla osparade data går förlorade.

Program som inte svarar kommer att ignorera kill-kommandot men avslutas när kill -9-kommandot utfärdas.

Andra vanliga dödalternativ inkluderar:

• -1 (HUP): Detta är alternativet "lägg på" och är i allmänhet mycket säkert.
• -2 (SIGINT): Detta är samma signal som Ctrl-C och anses vara ett säkert alternativ för att döda ett program.
• -15 (-TERM): detta är standardavslutssignalen och är i allmänhet mycket säker.

Du kan få en komplett lista över alla tillgängliga signaler med kommandot kill -l.

Komplett lista över alla tillgängliga signaler med kommandot kill -l

pkill-kommando

Pkill-kommandot dödar en process när du vet processnamnet. Som standard skickar pkill SIGTERM-signalen för att avsluta processen.

Syntax:

pkill  

pkill-alternativ:

• -n: Detta kommando kommer att döda de senaste processerna.
• -o: Detta kommando dödar de äldsta processerna.
• -u: Detta kommando dödar processer baserat på vald användare.
• -x: Detta kommando dödar processer som matchar ett mönster.
• -signal: Skickar en annan signal än standardsignalen SIGTERM.

xkill

Kommandot xkill stänger serverns anslutning till klienter.

xkill 

Kommandot xkill avslutar oönskade serverprocesser.

översta kommandot

Det översta kommandot ger ett gränssnitt genom vilket en användare kan ange avslutningsprocessen.

Syntax:

topp

För att döda en process med PID, infoga k från gränssnittet och ange sedan ett specificerat process-ID.

Sammanfattning

• Du måste ha sudotillstånd för att döda en process via kommandoraden.

• När du genererar en signal med hjälp av kommandot kill, avbryter Linux-systemet målprocessens normala körningsflöde.

• För att hitta en pågående process kan du använda kommandona ps, top, pgrep eller pidof.

• Du kan döda en process med namn eller process-ID med kommandona kilall, pkill, kill, xkill eller topp.

• En dödprocess skickar en avslutningssignal av SIGTERM, SIGHUP ELLER SIGKILL.

• Du kan använda System Monitor för att döda Linux-processen. Det finns i systemverktygen och det ger flera alternativ som topprocessen, avslutningsprocessen eller dödar processen.

• Dödkommandot och dess varianter är ganska enkla att förstå och använda.

I den här guiden belyste vi olika sätt att döda processer i Linux. Det finns en liten inlärningskurva när det gäller listan över signalalternativ som den erbjuder, vilket är viktigt för korrekt Linux-administration. Om du vill lära dig mer föreslår jag att du tittar på deras respektive mansidor.

SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...