Android

Kako ubiti proces u Linuxu

KAKO INSTALIRATI WINDOWS 10 (2019)

KAKO INSTALIRATI WINDOWS 10 (2019)

Sadržaj:

Anonim

Jeste li se ikada suočili sa situacijom kada ste pokrenuli aplikaciju i odjednom dok je koristite, ona postaje neodgovorna i neočekivano se ruši? Pokušate ponovo pokrenuti aplikaciju, ali ništa se ne događa jer se originalni postupak prijave nikada u potpunosti ne zaustavlja.

Pa, dogodilo se svima nama u nekom trenutku, zar ne? Rješenje je prekinuti ili ubiti postupak prijave. Ali kako?

Srećom, u Linuxu postoji nekoliko alata koji vam omogućuju ubijanje pogrešnih procesa., pokazat ćemo vam kako koristiti naredbe kill , killall i pkill za zaustavljanje procesa u Linuxu.

Glavna razlika između ovih alata je u tome što kill završava procese na temelju ID-a procesa (PID), dok naredbe killall i pkill prekidaju pokrenute procese na temelju njihovih imena i drugih atributa.

Redoviti korisnici mogu ubiti svoje procese, ali ne one koji pripadaju drugim korisnicima, dok korijenski korisnik može ubiti sve procese.

Sustav ubija signale

kill , killall i pkill šalju dani signal određenim procesima ili grupama procesa. Kad nije naveden signal, svaki alat šalje 15 ( TERM ).

Signali koji se najčešće koriste su:

  • 1 (-HUP): za ponovno učitavanje postupka. 9 (-KILL): ubiti postupak. 15 (-TERM): za graciozno zaustavljanje postupka.

Signali se mogu odrediti na tri različita načina:

  • koristeći broj (npr. -1) s prefiksom "SIG" (npr. -SIGHUP) bez prefiksa "SIG" (npr. -HUP).

Upotrijebite opciju -l za prikaz svih dostupnih signala:

kill -l # or killall -l

U nastavku navedeni koraci djeluju na svim Linux distribucijama.

Zaustavljanje procesa korištenjem naredbe kill

Da biste zaustavili proces naredbom kill , prvo morate pronaći PID postupka. To možete učiniti pomoću različitih naredbi kao što su top , ps , pidof i pgrep .

Recimo da je preglednik Firefox postao neodgovarajući, te trebate ubiti postupak Firefox. Da biste pronašli ID procesa, upotrijebite naredbu pidof :

pidof firefox

Naredba će ispisati sve Firefox procese:

2551 2514 1963 1856 1771

Nakon što znate da Firefox obrađuje PID-ove kako bi ih prekinuo, pošaljite TERM signal:

kill -9 2551 2514 1963 1856 1771

Zaustavljanje procesa korištenjem naredbe killall

Naredba killall ukida sve programe koji odgovaraju određenom imenu.

Koristeći isti scenarij kao i prije, proces Firefox možete ubiti upisivanjem:

killall -9 firefox

killall prihvaća nekoliko opcija kao što su slanje signala procesima u vlasništvu određenog korisnika, usklađivanje imena procesa s regularnim izrazima i vrijeme stvaranja. Možete dobiti popis svih opcija ako na vašem terminalu upišete killall (bez ikakvih argumenata).

Na primjer, da biste zaustavili sve procese koji se izvode kao korisnički "sara", pokrenuli biste sljedeću naredbu:

sudo killall -u sara

Zaustavljanje procesa pomoću pkill naredbe

pkill zaustavlja procese koji se podudaraju s uzorkom navedenim u naredbenom retku:

pkill -9 firefox

Naziv postupka ne mora biti točno podudaranje.

Pomoću pkill možete također poslati signal procesima koji su u vlasništvu određenog korisnika. Da biste ubili samo firefox procese u vlasništvu korisnika "sara", upisali biste:

pkill -9 -u sara firefox

Zaključak

Prekinuti nereagiranje programa pomoću naredbi kill , killall i pkill jednostavan je zadatak. Morate znati samo naziv procesa ili PID.

ubiti terminal