Linux: kako ubiti proces z uporabo terminalskih ukazov

Predstavljajte si: začeli ste program, delate z njim in čez nekaj časa preneha odgovarjati na zahteve in obešanje. Aplikacije ni mogoče ponovno zagnati, ker njegova kopija še vedno visi v pomnilniku računalnika. Kaj storiti v tem primeru? Najprej morate zaustaviti program in odstraniti proces iz pomnilnika. Najbolj preprost in univerzalen način za uničenje procesa v Linuxu je uporaba terminalskih ukazov. Ta možnost bo delovala na vsaki distribuciji Linuxa.

Procesi v Linuxu

V operacijskem sistemu Linux se proces običajno imenuje tekoči program ali program. Proces lahko imenujemo tudi vsaka naloga, ki trenutno izvaja Linux. Vsak izvajan proces lahko zažene otroka.


Vsi procesi, ki se izvajajo v Linuxu, imajo naslednje atribute:
  • PID je poseben identifikator za vsak proces.
  • PPID je identifikator nadrejenega procesa.
  • ID uporabnika, ki je začel postopek.
  • Prednostna naloga.
  • Status procesa.
  • Vsak tekoči proces je v eni od držav:
  • "Izvajanje". Za označevanje tega stanja se uporablja črka R.
  • Proces, ki je sprožil delovanje sistema, na primer vhodne ali izhodne podatke, in čaka, ko je zaključen, se imenuje "pričakovanje". Zadeva črka S.
  • Postopek, ki ga je ustavil uporabnik ali operacijski sistem Linux, je "ustavljen". To stanje je označeno s simbolom T.
  • "Zombiji" so postopki, ki niso večIzvedljiva, vendar porabi sredstva operacijskega sistema. Označeno s črko Z.
  • Neprekinjen postopek se lahko zaključi, dokler se v pomnilniku ne zaključi postopek neposrednega dostopa. Proces je označen z D.
  • Procesno iskanje

    Preden poskusite ubiti proces, ga morate najprej najti. Pogosto za ta namen Linux uporablja dva ukaza top in ps.


    Uporaba zgornjega ukaza

    Ukaz zgornjega dela prikaže celoten seznam trenutnih procesov. Poleg tega seznam vsebuje veliko koristnih informacij o vsakem poteku, na primer:
  • PID - edinstvena številka procesa;
  • USER je uporabniška prijava, ki je začela ta postopek;
  • PR - prednostna naloga procesa v določenem času;
  • NI - prednostna naloga, ki jo je procesu dodelil tim NICE;
  • S je stanje tega procesa;
  • % CPU - koliko procesorskega časa traja ta proces (v odstotkih);
  • % MEM - količina RAM-a, ki ga ta proces (v odstotkih);
  • TIME + - koliko časa je preteklo od začetka postopka;
  • COMMAND - Program, ki je sprožil postopek.
  • Informacije iz zgornjega ukaza so prikazane razvrščene glede na raven uporabljenega procesorja (stolpec% CPU). Uporabnik lahko spremeni vrstni red razvrščanja:
  • razvrsti procese glede na količino zasedenega pomnilnika (stolpec% MEM), pritisnite kombinacijo tipk Shift + M;
  • lahko razvrstimo po številu procesov (stolpec PID) s kombinacijo Shift + N;
  • razvrsti po času (stolpec TIME +) - Shift + T.
  • nazaj nazačetno razvrščanje glede na stopnjo obremenitve CPE - pritisnite kombinacijo Shift + P.

    Uporaba ukaza ps

    Z uporabo zgornjega ukaza lahko dobite veliko potrebnih informacij, vendar to ni najbolj primeren način za pridobitev potrebnih informacij o želenem postopku. Uporabite lahko ukaz ps in filtrirate seznam z ukazom greep, da se izognete iskanju želenega postopka. Na primer, če želite najti vse procese, povezane z izvajalcem brskalnika Opera, lahko vnesete ukaz ps axu | grep Mozilla.
    Ukaz ps ima naslednje parametre:
  • a - prikaže postopke za vse uporabnike;
  • u - prikaže uporabnika, ki je lastnik procesa;
  • x - prikaz procesov, ki niso vezani na terminal. Ta možnost je pomembna pri iskanju informacij o grafični aplikaciji.
  • Z uporabo ukazov ps in grep lahko dobite vse informacije, ki jih potrebujete za uničenje skrčene aplikacije.

    Drugi načini iskanja procesa

    Da bi našli postopek PID s svojim imenom, obstaja ukaz pidof. Oblika njegove uporabe je naslednja: pidof + ime programa. Če želite na primer najti vse PID-je, ki pripadajo programu Opera, morate vnesti pidof Opera. V nekaterih primerih se zgodi, da je program dokončal svojo izvedbo, vendar ni sprostil omrežnih vrat. Če želite dobiti informacijo, da morate v tem primeru vnesti ukaz fuser: fuser -vn tcp 80. Kjer je 80 številka visečega pristanišča. Po tem lahko uničite proces Linuxa na vratih.

    Dokončanje postopka z ukazom kill

    Ko poznate postopek PID in njegovo ime, lahkozaženite operacijo za dokončanje nepotrebnega programa. Če želite to narediti, uporabite dva ukaza: kill - ubiti proces id Linux in killall - dokončajte program po imenu.
    Struktura ukaza kill: kill SIDAL PID. Kjer je SIGNAL signal, ki ga je treba poslati, je PID ID procesa.
    Parameter SIGNAL za dokončanje postopka je 9 (SIGKILL). Da bi uničili pid proces v pid z Linuxom, morate vnesti ukaz: kill -99578. Kjer je 9578 edinstvena številka procesa. Ukaz za dokončanje ni edini, ki ga lahko pošljete s pomočjo aplikacije kill. Prikažite seznam vseh ukazov, ki jih lahko pošljete ukazu kill, tako da vnesete ukaz kill -l.
    ​​Prav tako je koristno poznati druge vrednosti, ki jih lahko sprejme parameter SIGNAL. S parametrom HUP lahko na primer ponovno naložite skrčeni program. Signal SIGTERM ne prekine programa takoj, ampak zagotavlja čas za pravilno zaustavitev, to pomeni, da program shrani podatke, dokonča njegovo izvedbo in osvobodi vse zasedene vire.

    Kako ubiti proces v Linuxu z imenom

    Če poznate ime programa, ki ga želite zagnati, lahko uporabite ukaz killall. Če želite na primer uničiti vse procese, ki so povezani z aplikacijo Opera, morate vnesti ukaz: killall -9 Opera.
    Vendar pa ta skupina ne zaključi vedno postopkov, povezanih z uničenim programom. Če po izvedbi zgornjega ukaza vnesete kombinacijo ps aux | grep Opera in poglejte, da se nekateri procesi še vedno izvajajo, najbolje je, da jih dokončate s sistemskim ubijanjem. VV nekaterih primerih je za uničenje procesa, ki ga izvaja drug uporabnik Linux, morda potrebni skrbniški privilegiji. Nato morate pred procesom dokončanja ukazov vnesti ukaz sudo. Tu so vse informacije, ki jih uporabnik potrebuje za upravljanje procesov. Res je, da ta tema ni lahka za začetnike, vendar jo morate obvladati, saj se vsa dejanja operacijskega sistema izvajajo preko procesov. Če želite izvedeti, kako jih upravljati, morate delati malo.

    Sorodne publikacije