V operacijskem sistemu obstaja veliko programov, ki se izvajajo v RAM-u računalnika. Te programe lahko poganja OS sam ali uporabnik, takšni programi se imenujejo 'Procesi .' Običajno ima proces svoj življenjski cikel in se sam prekine, ko je končan ali ko ga ročno zapustimo. Toda včasih se lahko proces prekine zaradi napake v načrtovanju procesa ali zaradi porabe veliko RAM-a ali CPE-ja. V takih primerih moramo procese uničiti ročno, da naš stroj rešimo pred nepričakovano prekinitvijo.
Linux omogoča različna orodja za zaustavitev napačnega procesa. Da bi ubili proces, moramo imeti podatke o procesu, kot je npr PID, signal in drugo .
Lociranje procesov
Če želimo uničiti proces, moramo dostopati do informacij o procesu. Obstajajo različni ukazi za sledenje procesu, kot npr vrh , ps , oprijem, in pidof.
Sistem Linux nam omogoča, da ubijemo proces na različne načine, kot npr uniči proces z njegovim imenom ali ID-jem procesa (PID). Torej bomo zgornje ukaze uporabili glede na naše potrebe.
Lociranje procesov z ukazom 'top'
The vrh ukaz se uporablja za seznam vseh tekočih procesov v sistemu Linux. Prikaže podrobne informacije, kot so PID, uporabniško ime, poraba procesorja, čas, izvedeni ukaz in drugo.
Če želite poiskati procese, izvedite ukaz na naslednji način:
testni primeri junit
top
Zgornji ukaz bo prikazal tekoče procese. Razmislite o spodnjem rezultatu:
Po procesih lahko brskamo s pomikanjem gor in dol po terminalu. Zgornji ukaz ponuja različne filtre za filtriranje procesov, kot so ime procesa, poraba procesorja in drugo. Za izhod iz zgornjega dela pritisnite 'q' ključ, vas bo vrnil na terminal. Lahko pa uporabimo tudi tradicionalno možnost izhoda s pritiskom CTRL+C ključi.
Lociranje procesov z ukazom ps in grep
The ps ukaz je še en način za prikaz informacij o procesu. Obstaja veliko možnosti, ki se uporabljajo z ukazom ps, kot npr za, kar pomeni:
a: Za prikaz procesov za vse uporabnike
v: Za prikaz procesov, ki jih uporablja določen uporabnik
x: Za prikaz vseh procesov. Če ne podamo možnosti x, ne bo prikazal procesa GUI.
Izvedite spodnji ukaz za seznam vseh tekočih procesov:
ps aux
Razmislite o spodnjem rezultatu:
Izhod ukaza ps je podoben vrh ukaz. Ime procesa in PID sta podana v prvih dveh stolpcih, ime procesa pa je podano v povsem desnem stolpcu.
Ukaz ps je bolj uporaben kot zgornji ukaz. Omogoča nam filtriranje izhoda z ukazom grep.
Recimo, da želimo filtrirati vse procese z uporabniškim imenom javatpo+, izvedite ukaz na naslednji način:
ps aux | grep javatpo+
Zgornji ukaz bo vse navedene procese filtriral z ukazom grep. Razmislite o spodnjem rezultatu:
Zgornji izhod skupaj zagotavljata ukaz ps in ukaz grep.
Lociranje procesa z ukazom pidof in pgrep
The pidof ukaz nam omogoča tudi, da poiščemo proces. Če želimo procesu slediti po njegovem imenu, bo ukaz pidof zelo uporaben. Prikaže PID-je procesov, ko se uporablja z imenom procesa.
Če želite poiskati PID procesa, izvedite ukaz pidof na naslednji način:
pidof process_name
Če imamo tekoč proces s točnim imenom krom , izvedite ukaz, kot sledi, da dobite njegove PID-je.
pidof chrome
upoštevajte spodnji rezultat:
Ubijanje procesa
Zdaj, ko smo sledili procesom, lahko proces ubijemo. Obstajajo različni ukazi, ki se uporabljajo za uničenje procesa, kot npr ubiti , ubiti , vrh, in pkill.
Preden ubijemo proces, je treba vedeti, katere procese lahko ubijemo. Spodaj je nekaj bistvenih točk o postopkih ubijanja:
- Če ste običajen uporabnik, potem lahko ubijete le procese, ki vam pripadajo. Ne morete uničiti procesov, ki jih izvajajo drugi uporabniki. The vrh in ps do ukazi prikazujejo uporabnike s povezanim procesom.
- Uporabnik root lahko ubije vse procese. Lahko pa dodamo tudi sudo pred katerim koli ukazom, da ga izvedemo kot root.
- V Linuxu se ob uničenju procesa procesom pošlje poseben signal. Čeprav v Linuxu obstajajo različne vrste signalov, se v tem primeru Linux ukvarja z SIGKILLS in CILJNI TERMIN signali. Privzeto. Linux pošlje SIGTERM, ki elegantno zaključi postopek. Če želite na silo uničiti proces, namesto tega uporabite SIGKILL.
- Linux ohranja stanje procesov, dokler ni popolnoma odstranjen iz sistema. Torej bodo podrejeni procesi prikazani na seznamu procesov, dokler nadrejeni proces ni izbrisan.
- Ne moremo uničiti procesa, če je notri 'neprekinjen spanec .' Do te situacije pride, ko proces izvede vhodno/izhodno operacijo. To stanje je mogoče videti v 8thstolpec od vrh in ps na ukaz.
Ubijanje procesa z ukazom killall
Ukaz killall je najlažja tehnika za ubijanje procesa, če poznate točno ime procesa, ga ne izvaja noben drug uporabnik in ni v stanju Z ali D. V ukazu kill all ni treba poiskati procesa ali PID. Če želite uničiti proces, izvedite ukaz na naslednji način:
killall firefox
Zgornji ukaz bo prekinil proces in zaprl brskalnik firefox. Razmislite o spodnjem rezultatu:
Če ukaz uspešno ubije proces, ne bo dal nobenega rezultata.
Če želite prisilno uničiti proces, izvedite ukaz killall z -SIGKILL, kot sledi:
killall -SIGKILL process_name
lahko uporabimo tudi -9 namesto -SIGKILL.
Če želite interaktivno uničiti proces, izvedite ukaz na naslednji način:
killall -i process_name
Če želite uničiti proces kot drug uporabnik, izvedite ukaz na naslednji način:
sudo killall process_name
Z uporabo lahko tudi ubijemo proces za določeno časovno obdobje -O in -in zastave. Če želite uničiti proces, ki se izvaja več kot 20 minut, izvedite spodnji ukaz: killall -o 20m ime_procesa
Če želite uničiti proces, ki se izvaja manj kot 20 minut, izvedite spodnji ukaz:
killall -y 20m process_name
Okrajšave za uporabo časovnega obdobja so naslednje:
sekunde: s
minute: m
ure: h
dnevi: d
tedni: ž
meseci: M
leta: l
Ubijte proces z ukazom pkill
Včasih ne vemo točnega imena procesa; v takem primeru bo ukaz pkill najbolj uporaben pripomoček za zaustavitev procesa. Omogoča nam, da ubijemo proces z vnosom ujemajočega se imena procesa. Na primer, če želimo uničiti vse procese z ujemajočim se imenom java, izvedite ukaz na naslednji način:
pkill java
zaprl bo vse procese, ki vsebujejo ime java. Podobno za zaustavitev procesa firefox izvedite ukaz na naslednji način:
pkill fire
Razmislite o spodnjem rezultatu:
Če je ukaz pkill uspešno izveden, ne bo prikazal nobenega izhoda.
Če želite prisilno uničiti proces z ukazom pkill, ga izvedite na naslednji način:
pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>
Ubijte proces z ukazom kill
Ukaz kill je najpreprostejši pripomoček za zaustavitev procesa; vse kar potrebujemo je PID procesa. Ko dobimo PID procesa, je to naravnost naprej. Če želite prekiniti proces, izvedite ukaz kill, ki mu sledi PID. Če želite poiskati PID procesa, uporabite ukaz top ali ps aux, kot je razloženo zgoraj.
Če želite uničiti proces s PID 5296, izvedite ukaz na naslednji način:
kill 5296
Za prisilno prekinitev procesa uporabite možnost -SIGKILL ali -9:
kill -SIGKILL 5296
Zgornji ukaz bo prekinil proces s PID 5296.
Ubijte proces z zgornjim ukazom
Zgornji ukaz nam omogoča, da poiščemo in ubijemo proces. To je preprost postopek za prekinitev procesa z uporabo ukaza top. Najprej izvedite zgornji ukaz, da poiščete proces, in pritisnite 'k' tipko med izvajanjem ukaza. Potopil vas bo v način uničenja procesa, vnesite PID procesa, ki ga želite uničiti. Razmislite o spodnjem rezultatu:
Kot lahko vidimo iz zgornjega rezultata, obstaja možnost ' PID za signal/ubijanje ' da ubijete proces z zgornjega seznama procesov. Vnesite PID procesa in pritisnite ENTER ključ.
Če pustimo PID prazen, bo prekinil najvišji proces.
Ubijte proces s sistemskim monitorjem
Proces lahko prekinemo tudi z Linuxovim grafičnim okoljem, imenovanim sistemski monitor. Če želite uničiti proces prek nadzornika sistema, sledite spodnjim korakom:
Korak 1: Poiščite ali prebrskajte sistemski monitor, pritisnite enter, da ga odprete.
2. korak: Navedel bo vse tekoče procese vašega sistema Linux. Razmislite o spodnji sliki:
3. korak: Prebrskajte po procesu in z desno miškino tipko kliknite nanj, ki ga želite prekiniti.
4. korak: Izberite možnost Kill. Prav tako lahko uporabimo CTRL+K ključi za ubijanje.