logo

Hvordan drepe en prosess i Linux?

I et operativsystem er det mange programmer som foregår på datamaskinens RAM. Disse programmene kan kjøres av OS selv eller en bruker, slike programmer kalles 'Prosesser .' Vanligvis har en prosess sin livssyklus og blir avsluttet av seg selv når den er fullført eller når vi avslutter den manuelt. Men noen ganger kan en prosess henge på grunn av feil i prosessplanlegging eller på grunn av forbruk av mye RAM eller CPU. I slike tilfeller må vi drepe prosessene manuelt for å redde maskinen vår fra uventet oppheng.

Linux tillater ulike verktøy for å drepe en feilaktig prosess. For å drepe en prosess må vi ha prosessinformasjonen som f.eks PID, signal og mer .

Lokalisering av prosessene

For å drepe en prosess, må vi få tilgang til prosessinformasjonen. Det er forskjellige kommandoer for å spore en prosess som f.eks topp , ps , pgrep, og pidof.

Linux-systemet lar oss drepe en prosess på forskjellige måter, som f.eks drepe en prosess ved navn eller prosess-ID (PID). Så vi vil bruke kommandoene ovenfor i henhold til vårt behov.

Finne prosessene med 'topp'-kommandoen

De topp kommandoen brukes til å liste opp alle kjørende prosesser i et Linux-system. Den viser detaljert informasjon som PID, brukernavn, CPU-bruk, tid, utført kommando og mer.

For å finne prosessene, kjør kommandoen som følger:

kamelvesken python
 top 

Kommandoen ovenfor viser de kjørende prosessene. Tenk på utgangen nedenfor:

Kill Process Linux

Vi kan bla gjennom prosessene ved å bla opp og ned på terminalen. Den øverste kommandoen gir forskjellige filtre for å filtrere prosessene, for eksempel prosessnavn, cpu-bruk og mer. For å gå ut av den øverste delen, trykk på 'q' nøkkel, vil den returnere deg til terminalen. Vi kan imidlertid også bruke det tradisjonelle exit-alternativet ved å trykke CTRL+C nøkler.

Finne prosessene med ps og grep kommando

De ps kommandoen er en annen måte å vise prosessinformasjonen på. Det er mange alternativer som brukes med ps-kommandoen, som f.eks til, som betyr:

a: For å vise prosessene for alle brukerne

i: For å vise prosessene brukt av en bestemt bruker

x : For å vise alle prosessene. Hvis vi ikke spesifiserer x-alternativet, vil det ikke vise GUI-prosessen.

Utfør kommandoen nedenfor for å liste alle de kjørende prosessene:

 ps aux 

Tenk på utgangen nedenfor:

Kill Process Linux

Utdataene fra ps-kommandoen ligner på topp kommando. Prosessnavnet og PID er gitt i de to første kolonnene, og prosessnavnet er gitt helt til høyre.

ps-kommandoen er mer nyttig enn toppkommandoen. Det lar oss filtrere utdataene med grep-kommandoen.

Anta at vi vil filtrere hele prosessen med brukernavnet javatpo+, utfør kommandoen som følger:

 ps aux | grep javatpo+ 

Kommandoen ovenfor vil filtrere all den spesifiserte prosessen etter grep-kommando. Tenk på utgangen nedenfor:

Kill Process Linux

Ovennevnte utdata gir ps-kommandoen så vel som grep-kommandoens funksjonalitet sammen.

Finne prosessen ved hjelp av kommandoen pidof og pgrep

De pidof kommando lar oss også finne prosessen. Hvis vi ønsker å spore en prosess ved navn, vil pidof-kommandoen være veldig nyttig. Den viser PID-ene til prosessene når den brukes med prosessnavnet.

For å finne PID-en til en prosess, utfør pidof-kommandoen som følger:

 pidof process_name 

Hvis vi har den kjørende prosessen med nøyaktig navn krom , utfør kommandoen som følger for å få PID-ene.

 pidof chrome 

vurder utgangen nedenfor:

Kill Process Linux

Å drepe en prosess

Nå som vi har sporet prosessene, kan vi drepe en prosess. Det er forskjellige kommandoer som brukes til å drepe en prosess som f.eks drepe , drepe , topp, og pkill.

Før du dreper en prosess, er det nødvendig å vite hvilke prosesser vi kan drepe. Nedenfor er noen viktige punkter om drapsprosesser:

  • Hvis du er en vanlig bruker, kan du bare drepe prosessene som tilhører deg. Du kan ikke drepe prosessene som kjøres av de andre brukerne. De topp og ps til kommandoer viser brukerne med den relaterte prosessen.
  • En root-bruker kan drepe alle prosessene. Imidlertid kan vi også legge til sudo før en kommando for å utføre den som root.
  • I Linux, når en prosess blir drept, sendes et spesielt signal til prosessene. Selv om det er forskjellige typer signaler i Linux, men i dette tilfellet, håndterer Linux SIGKILLS og BEGREP signaler. Som standard. Linux sender SIGTERM, som avslutter prosessen elegant. Hvis du vil drepe en prosess med kraft, bruk SIGKILL i stedet.
  • Linux beholder statusen til prosessene til den er fullstendig fjernet fra systemet. Så de underordnede prosessene vil vises i prosesslisten til en overordnet prosess er slettet.
  • Vi kan ikke drepe en prosess hvis den er inne 'uavbrutt søvn .' Denne situasjonen oppstår når en prosess utfører en input/output-operasjon. Denne tilstanden kan sees i 8thkolonne av topp og ps til kommandoen.

Å drepe en prosess med killall-kommandoen

Killall-kommandoen er den enkleste teknikken for å drepe en prosess hvis du vet det nøyaktige prosessnavnet, den kjøres ikke av noen annen bruker, og den er ikke i Z- eller D-tilstand. I kill all-kommandoen er det ikke nødvendig å finne prosessen eller PID. For å drepe en prosess, kjør kommandoen som følger:

 killall firefox 

Kommandoen ovenfor vil drepe prosessen og avslutte firefox-nettleseren. Tenk på utgangen nedenfor:

Kill Process Linux

Hvis kommandoen vellykket dreper prosessen, vil den ikke gi noe utdata.

For å drepe prosessen med makt, utfør killall-kommandoen med -SIGKILL som følger:

 killall -SIGKILL process_name 

vi kan også bruke -9 i stedet for -SIGKILL.

For å drepe en prosess interaktivt, kjør kommandoen som følger:

 killall -i process_name 

For å drepe en prosess som en annen bruker, utfør kommandoen som følger:

 sudo killall process_name 

Vi kan også drepe en prosess for en fast tidsperiode ved å bruke -O og -og flagg. For å drepe en prosess som har kjørt i mer enn 20 minutter, kjør kommandoen nedenfor: killall -o 20m prosessnavn

For å drepe en prosess som har kjørt i mindre enn 20 minutter, kjør kommandoen nedenfor:

 killall -y 20m process_name 

Forkortelser for bruk av tidsperioden er som følger:

sekunder: s

minutter: m

timer: h

dager: d

uker: w

måneder: M

år: y

Drep en prosess med pkill-kommandoen

Noen ganger vet vi ikke det nøyaktige navnet på prosessen; i slike tilfeller vil pkill-kommandoen være det mest nyttige verktøyet for å drepe en prosess. Det lar oss drepe en prosess ved å skrive inn det samsvarende navnet på prosessen. For eksempel vil vi drepe alle prosessene med samsvarende navn java, utfør kommandoen som følger:

 pkill java 

det vil lukke alle prosessene som inneholder navnet java. På samme måte for å drepe en firefox-prosess, utfør kommandoen som følger:

 pkill fire 

Tenk på utgangen nedenfor:

Kill Process Linux

Hvis pkill-kommandoen blir utført, vil den ikke vise noe utdata.

For å drepe en prosess kraftig med pkill-kommando, utfør den som følger:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Drep en prosess med kill-kommandoen

Kill-kommandoen er det enkleste verktøyet for å drepe en prosess; alt vi trenger en PID av en prosess. Når vi først har fått PID-en til prosessen, er det en rett frem prosess. For å avslutte en prosess, utfør kill-kommandoen etterfulgt av PID. For å finne PID-en til en prosess, bruk top- eller ps aux-kommandoen, som forklart ovenfor.

For å drepe en prosess med PID 5296, utfør kommandoen som følger:

 kill 5296 

For å avslutte en prosess med makt, bruk -SIGKILL eller -9 alternativet:

 kill -SIGKILL 5296 

Kommandoen ovenfor vil avslutte prosessen med PID 5296.

Drep en prosess med toppkommando

Den øverste kommandoen lar oss finne og drepe prosessen. Det er en enkel prosess å avslutte en prosess ved å bruke toppkommando. Først, utfør den øverste kommandoen for å finne prosessen og trykk 'k' tasten mens kommandoen kjører. Den vil dykke deg inn i prosessavlivingsmodus, skriv inn PID for prosessen du vil drepe. Tenk på utgangen nedenfor:

Kill Process Linux

Som vi kan se fra utgangen ovenfor, er det et alternativ 'PID for å signalisere/drepe' for å drepe prosessen fra prosesslisten ovenfor. Skriv inn PID for prosessen og trykk TAST INN nøkkel.

Hvis vi lar PID stå tomt, vil den avslutte den øverste prosessen.

Drep en prosess av System Monitor

Vi kan også avslutte en prosess av Linuxs grafiske miljø kalt systemmonitor. For å drepe en prosess gjennom systemmonitor, følg trinnene nedenfor:

Trinn 1: Søk eller bla gjennom systemmonitoren, trykk enter for å åpne den.

Steg 2: Den vil vise alle de kjørende prosessene til Linux-systemet ditt. Tenk på bildet nedenfor:

Kill Process Linux

Trinn 3: Bla gjennom prosessen og høyreklikk på den du vil avslutte.

Trinn 4: Velg alternativet Kill. Dessuten kan vi bruke CTRL+K nøkler for å drepe den.