Kako ubiti procese koristeći Linux

Svako toliko neki program visi, u tom slučaju vam je potrebna metoda za ubijanje. Linux nudi nekoliko pristupa za prisilno ukidanje programa iz ljuske.

Kako koristiti naredbu 'killall'

The ubiti naredba ubija sve procese po imenu. To znači da ako imate pokrenute tri verzije istog programa, naredba killall ubija sve tri.

Na primjer, otvorite mali program kao što je preglednik slika. Sada otvorite drugu kopiju istog preglednika slika. Ovaj primjer koristi Xviewer, koji je klon Oko gnoma.

Otvorite terminal i upišite sljedeću naredbu:

killall xviewer

Obje instance programa se zatvaraju.

Ubijte točan proces

Naredba killall može proizvesti čudne rezultate. Ako imate naziv naredbe duži od 15 znakova, naredba killall radi samo na prvih 15 znakova. Ako, dakle, imate dva programa koja dijele istih prvih 15 znakova, oba programa se poništavaju iako ste htjeli samo jednog ubiti.

Da biste to zaobišli, možete odrediti sljedeći prekidač koji ubija samo datoteke koje odgovaraju točnom imenu.

ubiti -e

Zanemari velika i mala slova prilikom ubijanja programa

Da biste bili sigurni da naredba killall zanemaruje velika i mala slova imena programa koji navedete, koristite sljedeću naredbu:

ubiti -ja
killall --ignore-case

Ukloni sve programe u istoj grupi

Kada pokrenete naredbu kao što je sljedeća, ona stvara dva procesa:

ps -ef | manje

Jedna naredba je za ps -ef dio, koji navodi sve pokrenute procese na vašem sustavu, a izlaz se usmjerava na manje zapovijedanja. Oba programa pripadaju istoj skupini, tj bash.

Da biste ubili oba programa odjednom, pokrenite sljedeću naredbu:

ubiti -g

Na primjer, da biste ubili sve naredbe koje se izvode u bash ljusci, pokrenite sljedeće:

killall -g bash

Za popis svih pokrenutih grupa pokrenite sljedeću naredbu:

ps -g

Dobijte potvrdu prije ubijanja programa

Očito, naredba killall je moćna naredba i ne želite slučajno ubiti pogrešne procese.

Kada koristite sljedeću sklopku, bit ćete upitani jeste li sigurni prije nego se svaki proces prekine.

ubiti -i

Uklonite procese koji su bili pokrenuti određeno vrijeme

Zamislite da ste pokrenuli program i da traje puno dulje nego što ste se nadali.

Naredbu možete ubiti na sljedeći način:

ubiti -o h4

The h u gornjoj naredbi stoji satima—ova naredba ubija procese koji rade četiri sata ili dulje.

Navedite bilo koju od sljedećih vremenskih prekretnica:

  • s: sekunde
  • m: minute
  • h: sati
  • d: dana
  • w: tjedni
  • M: mjeseci
  • y: godine

Alternativno, za uklanjanje naredbi koje su se tek počele izvoditi, koristite sljedeći prekidač:

ubiti -y h4

Ovaj put naredba killall ubija sve programe koji se izvode manje od 4 sata.

Nemojte mi govoriti kada proces nije prekinut

Prema zadanim postavkama, ako pokušate ubiti program koji se ne izvodi, dobit ćete sljedeću pogrešku:

naziv programa: proces nije pronađen

Ako ne želite da vam se kaže da proces nije pronađen, upotrijebite sljedeću naredbu:

ubiti -q

Korištenje regularnih izraza

Umjesto navođenja naziva programa ili naredbe, navedite regularni izraz tako da svi procesi koji odgovaraju regularnom izrazu budu zatvoreni naredbom killall.

Za korištenje regularnog izraza koristite sljedeću naredbu:

ubiti -r 

Ukidanje programa za određenog korisnika

Da biste ubili program u vlasništvu određenog korisnika, upotrijebite -u sklopka:

ubiti -u 

Izostavite naziv programa da biste prekinuli sve procese tog korisnika.

Pričekajte da killall završi

Prema zadanim postavkama, killall se vraća na terminal kada ga pokrenete, ali možete prisiliti killall da pričeka dok se svi navedeni procesi ne zatvore prije nego što vas vrati u prozor terminala.

Pokrenite sljedeću naredbu:

ubiti -w

Ako program nikada ne umre, onda i killall nastavlja živjeti.