Linux 101: drepe og killall

Hvis du har kommet over et program eller en prosess som bare ikke vil dø, og du tenker at du kanskje ønsker å starte din maskin - STOPP! Det er ikke behov for omstart i Linux (med mindre du nettopp har oppgradert kjernen). Det er mange måter å bli kvitt et program som nekter å lytte til Fil > Exit eller Fil > Avslutt eller at praktisk X-knappen i øvre høyre hjørne. Når du har brukt opp alle dine alternativer, det er alltid kommandolinjen

For å ta vare på gjenstridige Linux-programmer, er det to veldig nyttige kommandoer:. drepe Hotell og killall .
Men hvordan blir de brukt? Er det komplisert eller er de enkle? La oss undersøke disse to svært praktiske kommandoer.

Installasjon?

Å nei. Disse to kommandoene er installert i alle Linux-distribusjoner som standard. Å bruke dem alt du trenger å gjøre er å åpne opp et terminalvindu og begynne å blåse bort programmer. Men hvilken bør du bruke?

Kill

Mannen siden av drepe
kommando stater som drepe
vil "sende et signal til en prosess. " Det høres ufarlig nok. Men hva er signalet det sender? Hvis grunnen står, ville det signalet være en å avslutte prosessen. Merkelig nok TERM (kort for å avslutte) er ikke den eneste signal drepe
kan sende. Det er en ganske lang liste over mulige signaler (alle av dem annerledes) som kan fås ved å utstede kommandoen drepe -l
. Du vil finne 62 forskjellige signaler du kan sende med drepe
. Standard er begrep som vil avslutte en prosess.

Så, hvordan bruker du drepe?
Simple. Du må først vite prosessen ID av prosessen du ønsker å drepe. La oss si good ol 'Firefox svarer ikke, og du trenger for å bli kvitt det. For å gjøre dette må du først finne ut hva PID av tiden kjører Firefox er. For å gjøre dette vil gi en kommando som:

ps aux | grep firefox

Hvilke ville tilbake noe sånt som: jlwallen 18387 0.0 0.0 1 832 556? S 16:53 0:00 /bin /sh /usr/lib/firefox-3.6.12/firefoxjlwallen 18392 0.0 0.0 1832 572? S 16:53 0:00 /bin /sh /usr/lib/firefox-3.6.12/run-mozilla.sh /usr/lib/firefox-3.6.12/firefox-binjlwallen 18 396 26,0 2,2 201 420 46 492? Dl 16:53 00:01 /usr/lib/firefox-3.6.12/firefox-binjlwallen 18413 0.0 0.0 3324 816 pts /0 S + 16:53 00:00 grep --color = auto firefox

PID du er ute etter vil være en assosiert med firefox-bin.
I eksempelet ovenfor, at PID er 18396. Så for å drepe Firefox du vil da kjøre kommandoen drepe 18396
. Den kommandoen vil umiddelbart drepe Firefox.

Det er en enklere måte!

killall

Hva om du ikke ønsker å hoppe gjennom ringer for å finne PID av behandle. Hvis du vet navnet på den prosessen kan du i stedet gjøre bruk av killall
kommando. I stedet for å drepe en prosess ID, dreper killall en fremgangsmåte ved navn. Det er signaler du kan sende med killall plakater (etter navn eller nummer), men den som brukes oftest er -9. Så for å drepe Firefox med killall
du ville gi kommandoen:

killall -9 firefox-bin

Det åpenbare problemet med dette er at du må vite det nøyaktige navnet på den behandler du ønsker å drepe. Så hvis du ikke vet navnet kan du gå tilbake ps aux | grep firefox
å få det nøyaktige navnet på prosessen
.