Linux: kako ubiti proces pomoću terminalnih naredbi

Zamislite: pokrenuli ste program, radite s njim i nakon nekog vremena prestaje odgovarati na zahtjeve i visi. Nemoguće je ponovno pokrenuti aplikaciju jer njezina kopija i dalje visi u memoriji računala. Što učiniti u ovom slučaju? Prije svega, morate isključiti program i ukloniti proces iz memorije. Najjednostavniji i najsveobuhvatniji način za ubijanje procesa u Linuxu je korištenje terminalnih naredbi. Ova opcija će raditi na bilo kojoj Linux distribuciji.

Procesi u Linuxu

U Linux operativnom sustavu, proces se obično naziva pokrenut program ili program. Također, proces se može nazvati bilo koji zadatak koji je trenutno pokrenut Linux. Svaki pokrenuti proces može pokrenuti dijete.


Svi procesi na Linuxu imaju sljedeće atribute:
  • PID je jedinstveni identifikator za svaki proces.
  • PPID je identifikator nadređenog procesa.
  • Korisnički ID koji je pokrenuo proces.
  • Prioritet.
  • Status procesa.
  • Svaki pokrenuti proces nalazi se u jednom od stanja:
  • "Izvršavanje". Za označavanje ovog stanja koristi se slovo R.
  • Proces koji je pokrenuo rad sustava, primjerice ulazne ili izlazne podatke i čeka kada je dovršen, naziva se "Očekivanje". Pogođen slovom S.
  • Proces koji je zaustavio korisnik ili operativni sustav Linux je "Zaustavljen". Ovo je stanje označeno simbolom T.
  • "Zombiji" su procesi koji više nisuIzvršna, ali troši resurse operacijskog sustava. Označeno slovom Z.
  • Kontinuirani proces se može dovršiti dok se ne završi postupak izravnog pristupa u memoriji. Proces je označen s D.
  • Procesno traženje

    Prije pokušaja ubijanja procesa, prvo ga morate pronaći. Često, u tu svrhu, Linux koristi dvije vrha i ps naredbe.


    Upotreba gornje naredbe

    Naredba top prikazuje cijeli popis trenutnih procesa. Osim toga, popis sadrži mnogo korisnih informacija o svakom pokrenutom procesu, na primjer:
  • PID - jedinstveni broj procesa;
  • USER je korisnička prijava koja je pokrenula taj proces;
  • PR - prioritet procesa u određenom trenutku;
  • NI - prioritet koji je timu dodijelio NICE tim;
  • S je stanje tog procesa;
  • % CPU - koliko procesorskog vremena taj proces traje (kao postotak);
  • % MEM - količina RAM-a koju taj proces uzima (kao postotak);
  • VRIJEME + - koliko je vremena prošlo od početka procesa;
  • COMMAND - Program koji je pokrenuo proces.
  • Informacije koje daje gornja naredba prikazane su razvrstane prema razini korištenog procesora (stupac% CPU). Korisnik može promijeniti redoslijed razvrstavanja:
  • sortirati procese po količini zauzete memorije (stupac% MEM) potrebno je pritisnuti kombinaciju tipki Shift + M;
  • mogu se sortirati prema broju procesa (stupac PID) koristeći kombinaciju Shift + N;
  • sortiranje po vremenu (stupac TIME +) - Shift + T.
  • natrag napočetno sortiranje prema razini opterećenja CPU - pritisnite kombinaciju Shift + P.

    Korištenje naredbe ps

    Pomoću gornje naredbe možete dobiti mnogo potrebnih informacija, ali to nije najprikladniji način za dobivanje potrebnih informacija o procesu koji želite. Možete koristiti naredbu ps i filtrirati popis pomoću naredbe greep kako biste izbjegli traženje željenog procesa. Na primjer, ako želite pronaći sve procese povezane s pokrenutim Opera preglednikom, možete unijeti naredbu ps axu | grep Mozilla.
    Naredba ps ima sljedeće parametre:
  • a - prikazuje procese za sve korisnike;
  • u - prikaz korisnika koji posjeduje proces;
  • x - pokazuju procese koji nisu vezani za terminal. Ova opcija je važna kada tražite informacije o grafičkoj aplikaciji.
  • Koristeći vezu naredbi ps i grep, možete dobiti sve informacije koje su vam potrebne za uništenje ograničene aplikacije.

    Drugi načini traženja procesa

    Kako bi pronašli PID proces po imenu, postoji pidof naredba. Format njegove uporabe je sljedeći: pidof + naziv programa. Na primjer, da biste pronašli sve PID-ove koji pripadaju programu Opera, morate unijeti pidof Opera. U nekim se slučajevima dogodi da je program dovršio izvršenje, ali nije oslobodio mrežni priključak. Da biste dobili informaciju da u ovom slučaju trebate unijeti naredbu fuser: fuser -vn tcp 80. Gdje je 80 broj visećeg porta. Nakon toga možete ubiti proces Linuxa na portu.

    Dovršenje procesa s naredbom kill

    Jednom kada znate PID proces i njegovo ime, možetepokrenite operaciju da biste dovršili nepotreban program. Da biste to učinili, upotrijebite dvije naredbe: kill - ubiti id Linux proces i killall - dovršite program po imenu.
    Struktura naredbe kill: ubiti PID SIGNALA. Gdje je SIGNAL signal koji se šalje, a PID je ID procesa.
    Parametar SIGNAL za završetak procesa je 9 (SIGKILL). Dakle, da biste ubili pid proces u pid s Linuxom, morate unijeti naredbu: kill -99578. Gdje je 9578 jedinstveni broj procesa. Naredba dovršavanja nije jedina koja se može poslati pomoću aplikacije za ubijanje sustava. Nabavite popis svih naredbi koje se mogu poslati naredbi koristeći kill, upisivanjem naredbe kill -l.
    ​​Također je korisno znati druge vrijednosti koje SIGNAL parametar može prihvatiti. Na primjer, možete koristiti parametar HUP za ponovno učitavanje ograničenog programa. Signal SIGTERM ne prekida program odmah, nego daje vrijeme za ispravno gašenje, odnosno program sprema podatke, dovršava njegovo izvršenje i oslobađa sve zauzete resurse.

    Kako ubiti proces u Linuxu po imenu

    Ako znate naziv programa koji želite pokrenuti, možete koristiti naredbu killall. Na primjer, da biste uništili sve procese koji se odnose na aplikaciju Opera, morate upisati naredbu: killall -9 Opera.
    Međutim, ovaj tim ne uvijek dovršava procese koji se odnose na uništeni program. Ako nakon izvršenja gornje naredbe unesete kombinaciju ps aux | grep Opera i uvjerite se da su neki procesi još uvijek u tijeku, najbolje ih je dovršiti ubijanjem sustava. uU nekim slučajevima, za ubijanje procesa koji se izvodi na Linuxu od strane drugog korisnika možda će biti potrebne administratorske povlastice. Zatim, prije postupka dovršavanja naredbi, morate unijeti naredbu sudo. Ovdje su sve informacije koje korisnik treba za upravljanje procesima. Istina, ova tema nije jednostavna za početnike, ali trebate je ovladati, jer se sve radnje operativnog sustava provode kroz procese. Da biste naučili kako ih upravljati, morate malo raditi.

    Povezane publikacije