I princip finns det 4 sätt de döda effektivt a process en Linux: döda det med namn, genom att ange en del av namnet, genom PID, peka på processfönstret med muspekaren. Låt oss se en efter en ... |
Döda: döda en process med dess PID
Det mest komplicerade men samtidigt det mest exakta sättet att döda en process är genom dess PID ("Process Identifier"). Någon av dessa tre varianter kan tjäna:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Du kan använda namnet på signalen (TERM eller SIGTERM) som du vill skicka till processen eller dess identifikationsnummer (15). För att se en fullständig lista över möjliga signaler föreslår jag att du kontrollerar dödhandboken. För att göra detta, kör:
man dödar
Låt oss se ett exempel på hur man dödar Firefox:
Först måste du ta reda på programmets PID:
ps -ef | grep Firefox
Det kommandot kommer att returnera något så här:
1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Vi använder PID som returneras av ovanstående kommando för att döda processen:
döda -9 1986
killall: döda en process med dess namn
Detta kommando är väldigt enkelt
killall process_name
En sak att tänka på när du använder den här metoden är att om det finns mer än en instans av det programmet som körs, kommer de alla att stängas.
pkill: döda en process med en del av dess namn
Det är möjligt att döda en process genom att ange hela namnet eller en del av namnet. Det betyder att du inte behöver komma ihåg processen PID för att skicka signalen.
pkill part_process_name
I gengäld dödar den här metoden alla processer som innehåller det angivna ordet. Det betyder att om vi har två processer öppna som delar ett ord i namnet kommer båda att stängas.
xkill: döda en process genom att välja fönstret med musen
Detta är den enklaste och mest praktiska metoden. I händelse av en katastrof, tryck helt enkelt på Alt + F2 för att öppna dialogrutan som gör att du kan utföra kommandon. Därifrån kör du följande kommando:
xkill
Muspekaren förvandlas till en liten skalle. Allt som återstår är att klicka på fönstret du vill stänga och voila. Hej processen.
Några sista kommentarer
Avslutningsvis ville jag dela några tips som kan vara till hjälp. I Linux, som i Windows, när en process hänger kan fönstret i fråga i allmänhet stängas genom att klicka på knappen Stäng (som är formad som ett X). Efter några sekunder visas ett fönster som frågar oss om vi verkligen vill döda processen eftersom den inte svarar ordentligt. Vi säger ja och det är det.
Detta innebär att metoderna som beskrivs här bör användas när ingenting händer när du klickar på knappen Stäng i fönstret i fråga.
Vid en allvarlig katastrof, glöm inte att det är möjligt att utföra en innan du trycker på "säker" omstart.
Slutligen kan det vara mycket användbart att ta reda på vilka processer som för närvarande körs. För detta har de olika skrivbordsmiljöerna (GNOME, KDE, etc.) grafiska verktyg som underlättar denna uppgift. Men om du inte kan komma åt dem eller bara vill göra det från terminalen kan du utföra följande:
topp
Om detta inte fungerar eller om du inte har motsvarande paket installerat kan du alltid köra:
ps -A
Detta kommer att lista alla pågående processer, tillsammans med deras respektive namn och PID.
«Ps -ef | "grep firefox" är inte detsamma som "pgrep firefox"?
Tja personligen använder jag "pidof" för att få PID.
Hälsningar!
det jag använder mest är:
~ $ topp
visar oss listan över aktiva processer, så om vi trycker på "k" eller skriver "kill" kommer det att be oss om pid av processen för att döda (vi läser den uppifrån) och sedan ange, för att avsluta toppen trycker vi på "q".
Mycket bra inträde, men denna form verkar enklare för mig. Om terminalen inte går försöker vi med ctrl + alt + f [1-6] och gör det därifrån.
Vilka genier killar tack för att de hjälpte mig gav mig en bra hand med det här inlägget !!!
Hallå! Kan det vara så att kommandot xkill bara gör att X-programmet försvinner och förblir öppet? Eftersom det alltid händer mig att när jag går till uppgiftshanteraren lever processen fortfarande och jag måste döda den.
Jag erkänner det, jag är väldigt nybörjare. Och killall- och pkill-kommandona kommer att hjälpa mig mycket. Tack för att du laddade upp dem, mycket bra blogg.
Hälsningar!
Jag rekommenderar htop 😀 det är bäst för det ...
arbetar med ncurses
sudo apt-get installera htop
pidof är inte för alla Unixes, till exempel har Solaris inte det kommandot, och det får oss att använda den kraftfulla ps.
hälsningar
htop är mer detaljerad och användarvänlig
Vid användning av PID är det rätta $ kill PID som skickar SIGTERM-signalen som standard, om processen inte svarar, används $ kill -9 PID som skickar SIGKILL-signalen, den senare eliminerar processen utan att låta samma stängning korrekt (det kan till exempel vara dataförlust). SIGTERM frågar snälla, SIGKILL ger honom en yxa 🙂
Tack så mycket, jag kommer att testa om det händer mig igen.
en fråga. När skrivbordsmiljön hänger i Ubuntu (jag använder Unity), kan den startas om utan att alla andra processer dödas? Jag är inte så avancerad i Linux och det händer mig ibland att jag arbetar och det hänger, det enda jag gör är säker omstart, men jag tappar allt jag jobbade med.
Jag vet inte om mitt tvivel är förstått.
hälsningar
En process i zombietillståndet kan inte dödas på det traditionella sättet.
Här för mer information: esdebian.org/wiki/matar-proceso-zombie
För de mer avancerade, hur dödar du en process i ZOMBIE-tillstånd?
bara för att generera en liten chatt 😀
Mycket bra, precis vad jag behövde ..
Sanningen är att dödkommandot är mycket användbart. Att kunna döda irriterande processer bara genom att åberopa kill är fantastiskt. Äntligen ett kommando som tjänar något.
Teoretisk fråga: Att döda en process betyder att den slutar fungera. Så min fråga är tvärtom, om jag vill starta om den processen som jag dödade, hur gör jag det?
ja du säger ./( namnet på processen) &
Med detta kör du det igen och din PID kommer också ut 😀
Utmärkt, jag hade tid att leta efter hjälp som den här. Det var mycket användbart för mig. Tack så mycket för att du delar.
Hälsningar från San Luis Potosí, Mexiko.
Hur kan jag döda två processer med vetskap om deras PID i samma kommando?
Jag tror att det var 'kill [First PID] [Second PID]
Mycket intressant artikel. Denna webbplats är min huvudsakliga Linux-webbplats.
Jag brukar använda:
ps ax | grep process_name (detta för att hitta det i systemet)
döda -9 process_id
Jag delar en gratis online baskurs som går runt:
https://aprendemia.com/cursos/curso-de-bash-scripting Förhoppningsvis kommer det att vara användbart.
och om jag ville att det skulle vara en profil i Linux bara den som stängde som den borde vara?
exempel jag har två firefox-profiler öppna
men jag vill bara att en enda profil ska stängas
profil 1
profil 2
Jag vill att endast profil 2 ska stängas som kommandot ska vara
i förväg tack för svaret
hur kan jag döda ubuntu förgrundsprocesser, med en enda kommandorad