Vill du lära dig hur man hanterar en process som inte svarar på Linux? Kill- och pkill-kommandona är till för att hjälpa dig.
Att hantera program som inte svarar kan vara ett knepigt jobb, särskilt om du kör på äldre hårdvara. I så fall blir systemfrysning ett vanligt problem. Lyckligtvis finns det många sätt att döda processer som inte svarar i Linux.
Kill- och pkill-kommandona ger enkla men effektiva lösningar för att avsluta zombieprocesser som inte svarar från terminalen. Avsnitten nedan beskriver hur man dödar hängda processer i Linux med kill och pkill.
Avsluta processer som inte svarar med kill
Kill-kommandot i Linux låter dig enkelt avsluta processer som inte svarar. Den skickar en avslutande signal till processen. Som standard skickar kill SIGTERM signal, representerad av signalnummer 15. Följande exempel använder kill för att stoppa en process som har ett PID på 27065.
kill 27065
Användare kan skicka andra signaler genom att ange signalens namn eller nummer. Till exempel stoppar dödningskommandona nedan en zombieprocess med hjälp av SIGKILL systemsignal, representerad av signalnummer 9.
kill -9 27065
kill -SIGKILL 27065
Skillnaden mellan SIGTERM och SIGKILL är att processer kan fånga och ignorera SIGTERM-signalen. Men SIGKILL är immun mot processhantering och dödar program omedelbart.
Du kan se en lista över alla tillgängliga signaler med hjälp av dödningskommandona nedan.
kill -l
kill -L
Sammantaget kommer SIGKILL att vara mer lämplig när man hanterar systemprocesser som inte svarar. Å andra sidan är SIGTERM vägen att gå om du vill avsluta hängda program på ett graciöst sätt.
Döda processer som inte svarar med pkill
Kommandot pkill gör det lättare att avsluta processer i Linux genom att tillåta oss att döda program baserat på deras namn. Till exempel dödar kommandot nedan nano program med pkill.
pkill nano
Precis som kill, skickar pkill också SIGTERM-signalen som standard. Använd SIGKILL-signalen om du vill stoppa processen som inte svarar omedelbart.
pkill -9 nano
Hur man får process-ID (PID) för en process
Att ha PID-informationen kan vara till stor hjälp när man avslutar processer som inte svarar i Linux. Du kan få PID-numret för en process på flera sätt. Följande kommando hämtar PID för en process som heter nano med hjälp av kommandot grep och ps.
ps aux | grep nano
Du kan också använda kommandot pgrep, som spottar ut process-ID direkt.
pgrep nano
Hantera en process som inte svarar på Linux
Kill- och pkill-kommandona gör det enkelt att hantera processer som inte svarar i Linux. Allt du behöver för att stoppa en zombieprocess är dess PID och tillgång till ett skal. Du kan dock behöva ytterligare sudo-behörigheter när du dödar processer som tillhör en annan användare. Så om du använder ett fleranvändarsystem, be administratören att lägga till dig på sudoers-listan innan du vidtar någon åtgärd.
Om författaren
Rubaiat Hossain (47 artiklar publicerade)
Rubaiat är en CS-examen med en stark passion för öppen källkod. Förutom att vara en Unix-veteran, är han också intresserad av nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en aldrig sinande beundran för klassisk rock.
Mer från Rubaiat Hossain
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
