I utgangspunktet er det det 4 måter de drepe effektivt a prosessen en Linux: drep det ved navn, ved å spesifisere en del av navnet, ved PID, og peke på prosessvinduet med musemarkøren. La oss se en etter en ... |
Indeks
Drep: drep en prosess ved hjelp av PID
Den mest kompliserte, men samtidig den mest nøyaktige måten å drepe en prosess på, er gjennom PID ("Process Identifier"). Alle disse tre variantene kan tjene:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Du kan bruke navnet på signalet (TERM eller SIGTERM) som du vil sende til prosessen eller dets identifikasjonsnummer (15). For å se en full liste over mulige signaler, foreslår jeg at du sjekker drepemanualen. For å gjøre dette, løp:
mann drepe
La oss se et eksempel på hvordan du dreper Firefox:
Først må du finne ut PID for programmet:
ps -ef | grep Firefox
Den kommandoen vil returnere noe slikt:
1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Vi bruker PID som returneres av kommandoen ovenfor for å drepe prosessen:
drepe -9 1986
killall: drep en prosess ved å bruke navnet
Denne kommandoen er veldig enkel
killall prosessnavn
En ting å huske på når du bruker denne metoden, er at hvis det er mer enn en forekomst av det programmet som kjører, vil de alle være stengt.
pkill: drep en prosess ved å bruke en del av navnet
Det er mulig å drepe en prosess ved å spesifisere hele navnet eller deler av navnet. Det betyr at du ikke trenger å huske prosessen PID for å sende signalet.
pkill delprosessnavn
Til gjengjeld vil denne metoden drepe alle prosesser som inneholder det oppgitte ordet. Det betyr at hvis vi har to prosesser åpne som deler et ord i navnet, vil begge være stengt.
xkill: drep en prosess ved å velge vinduet med musen
Dette er den enkleste og mest praktiske metoden. I tilfelle en katastrofe, trykk Alt + F2 for å få fram dialogboksen som lar deg utføre kommandoer. Derfra kjører du følgende kommando:
xkill
Musemarkøren vil forvandles til en liten hodeskalle. Alt som gjenstår er å klikke på vinduet du vil lukke og voila. Farvel prosess.
Noen endelige kommentarer
Til slutt ønsket jeg å dele noen tips som kan være nyttige. I Linux, som i Windows, når en prosess henger, kan det aktuelle vinduet vanligvis lukkes ved å klikke på Lukk-knappen (som er formet som et X). Etter noen sekunder vises et vindu som spør oss om vi virkelig vil drepe prosessen, siden den ikke reagerer ordentlig. Vi sier ja, og det er det.
Dette betyr at metodene som er beskrevet her, skal brukes når ingenting skjer når du klikker på Lukk-knappen i det aktuelle vinduet.
I tilfelle en større katastrofe, ikke glem at det er mulig å utføre en før du trykker på "sikker" omstart.
Til slutt kan det være veldig nyttig å finne ut hvilke prosesser som kjører for tiden. For dette har de forskjellige skrivebordsmiljøene (GNOME, KDE, etc.) grafiske verktøy som letter denne oppgaven. Imidlertid, hvis du ikke har tilgang til dem eller bare vil gjøre det fra terminalen, kan du utføre følgende:
topp
Hvis dette ikke fungerer eller du ikke har den tilsvarende pakken installert, kan du alltid kjøre:
ps-A
Dette vil liste opp alle kjørende prosesser, sammen med deres respektive navn og PID.
22 kommentarer, legg igjen dine
«Ps -ef | "grep firefox" er ikke det samme som "pgrep firefox"?
Vel personlig bruker jeg "pidof" for å få PID.
Greetings!
det jeg bruker mest er:
~ $ topp
viser oss listen over aktive prosesser, så hvis vi treffer "k" eller skriver "kill", vil det be oss om pid av prosessen for å drepe (vi leser den fra toppen) og deretter gå inn, for å avslutte toppen trykker vi "q".
Veldig bra oppføring, men dette skjemaet virker enklere for meg. Hvis terminalen ikke går, prøver vi ctrl + alt + f [1-6] og gjør det derfra.
Hvilke genier takk for at de hjalp meg, ga meg en god hånd med dette innlegget !!!
Hallo! Kan det være at xkill-kommandoen bare får X-programmet til å forsvinne og fortsatt er åpent? Fordi det alltid skjer med meg at når jeg går til oppgavebehandling, er prosessen fortsatt i live, og jeg må drepe den.
Jeg innrømmer det, jeg er veldig nybegynner. Og killall- og pkill-kommandoene kommer til å hjelpe meg mye. Takk for at du lastet dem opp, veldig bra blogg.
Hilsener!
Jeg anbefaler htop 😀 det er best for det ...
jobber med ncurses
sudo apt-get install htop
pidof er ikke for alle Unixes, for eksempel har ikke Solaris den kommandoen, og det får oss til å bruke den kraftige ps.
Hilsen
htop er mer ordentlig og brukervennlig
Ved bruk av PID er det riktige $ kill PID som sender SIGTERM-signalet som standard, i tilfelle prosessen ikke svarer, brukes $ kill -9 PID som sender SIGKILL-signalet, sistnevnte eliminerer prosessen uten å la den samme lukkingen riktig (det kan for eksempel være datatap). SIGTERM spør, SIGKILL gir ham en øks 🙂
Tusen takk, jeg vil teste det hvis det skjer med meg igjen.
en forespørsel. Når skrivebordsmiljøet henger i Ubuntu (jeg bruker Unity), kan det startes på nytt uten å drepe alle andre prosesser? Jeg er ikke veldig avansert i linux, og noen ganger hender det med meg at jeg jobber og det henger, det eneste jeg gjør er sikker omstart, men jeg mister alt jeg jobbet med.
Jeg vet ikke om tvilen min er forstått.
Hilsen
En prosess i zombiestaten kan ikke drepes på tradisjonell måte.
Her for mer informasjon: esdebian.org/wiki/matar-proceso-zombie
For de mer avanserte, hvordan dreper du en prosess i ZOMBIE-tilstand?
bare for å generere en liten prat 😀
Veldig bra, akkurat det jeg trengte ..
Sannheten er at drepekommandoen er veldig nyttig. Det å kunne drepe irriterende prosesser bare ved å påkalle kill er flott. Endelig en kommando som serverer noe.
Teoretisk spørsmål: Å drepe en prosess betyr at den slutter å virke. Så spørsmålet mitt er omvendt, hvis jeg vil starte den prosessen jeg drepte igjen, hvordan gjør jeg det?
Vel du setter ./( navnet på prosessen) &
Med dette kjører du det igjen, og din PID vil også komme ut 😀
Utmerket, jeg hadde tid på å lete etter hjelp som dette. Det var veldig nyttig for meg. Tusen takk for at du delte.
Hilsen fra San Luis Potosí, Mexico.
Hvordan kan jeg drepe to prosesser som kjenner deres PID i samme kommando?
Jeg tror det var 'kill [First PID] [Second PID]
Veldig interessant artikkel. Dette nettstedet er mitt viktigste Linux-nettsted.
Jeg bruker generelt:
ps øks | grep process_name (dette for å finne det på systemet)
drep -9 prosess_id
Jeg deler et gratis online bask-kurs som går rundt:
https://aprendemia.com/cursos/curso-de-bash-scripting Forhåpentligvis vil det være nyttig.
og hvis jeg ville at det skulle være en profil i linux bare den som lukkes som den skal?
eksempel har jeg to firefox-profiler åpne
men jeg vil bare at en enkelt profil skal lukkes
profil 1
profil 2
Jeg vil at bare profil 2 skal lukkes slik kommandoen skal være
på forhånd takk for svaret
hvordan kan jeg drepe ubuntu forgrunnsprosesser, med en enkelt kommandolinje