Mastering av kommandot "Döda" i Linux
Det spelar ingen roll vilket operativsystem du använder - du kommer säkert att stöta på ett felaktigt program som låser sig upp och vägrar att stänga. I Linux (och Mac) finns ett " kill
" -kommando som du kan använda för att säga upp ansökan kraftigt. I den här handledningen visar vi på olika sätt du kan använda kommandot "död" för att avsluta en applikation.
Döda kommandon och signaler
När du utför ett "död" -kommando skickar du faktiskt en signal till systemet för att instruera det att säga upp den felaktiga appen. Det finns totalt sextio signaler som du kan använda, men allt du verkligen behöver veta är SIGTERM (15) och SIGKILL (9).
Du kan se alla signaler med kommandot:
döda -l
- SIGTERM - Den här signalen begär att en process slutar köra. Denna signal kan ignoreras. Processen ges tid att graciöst stänga av. När ett program stängs av med grace, betyder det att det är dags att spara sina framsteg och frigöra resurser. Med andra ord är det inte nödvändigt att sluta.
- SIGKILL - SIGKILL-signalen tvingar processen att sluta utföra omedelbart. Programmet kan inte ignorera denna signal. Olagrade framsteg kommer att gå vilse.
Syntaxen för att använda kill
är:
döda [signal eller alternativ] PID (s)
Standardsignalen (när ingen anges) är SIGTERM. När det inte fungerar kan du använda följande för att döda en process kraftfullt:
döda SIGKILL PID
eller
döda -9 PID
där -9
flaggan refererar till SIGKILL-signalen.
Om du inte är medveten om programmets PID, kör du bara kommandot:
ps ux
och det kommer att visa alla löpande applikationer tillsammans med dess PID.
Till exempel, för att döda Chrome-appen, kör kommandot:
döda -9 3629
Observera också att du kan döda flera processer samtidigt.
döda -9 PID1 PID2 PID3
pkill
Kommandot pkill
tillåter användning av utökade reguljära uttrycksmönster och andra matchande kriterier. I stället för att använda PID kan du nu döda program genom att ange processnamnen. Till exempel, för att döda Firefox-webbläsaren, kör bara kommandot:
pkill firefox
Eftersom det matchar ett vanligt uttrycksmönster kan du också ange ett partiellt namn på processen, till exempel:
pkill eld
För att undvika att döda felaktiga processer kanske du vill göra en " pgrep -l [process name]
" för att lista de matchande processerna.
Döda alla
Killall använder också processnamnet istället för PID, och det dödar alla instanser av processen med samma namn. Om du till exempel kör flera instanser av Firefox-webbläsaren kan du döda dem alla med kommandot:
killall firefox
xkill
Xkill är ett grafiskt sätt att döda en ansökan. När du skriver xkill
i terminalen kommer din muspekare att bli en "cross". Allt du behöver göra är att klicka på "cross" på den felaktiga appen, och det kommer att döda programmet direkt. Om du vill kan du också lägga till en snabbtangent för att aktivera xkill-funktionen.
Slutsats
När apps misshandlar och orsakar att systemet hänger är det väldigt frestande att starta om datorn och starta sessionen igen. Med dessa "död" -kommandon kommer du att kunna hantera de felaktiga appsna bättre utan att de orsakar att systemet kraschar. Detta är särskilt användbart för en server när du inte vill ha en felaktig process för att ta hela servern ner.
Bildkredit: Kill Bill (Gates)