Egy operációs rendszerben számos program működik a számítógép RAM-jában. Ezeket a programokat maga az operációs rendszer vagy egy felhasználó futtathatja, az ilyen programokat hívják 'Folyamatok .' Általában egy folyamatnak megvan a maga életciklusa, és amikor befejeződik, vagy amikor manuálisan kilépünk, leáll. Néha azonban egy folyamat lefagyhat a folyamatütemezési hiba vagy a sok RAM vagy CPU fogyasztása miatt. Ilyen esetekben manuálisan kell megölnünk a folyamatokat, hogy megmentsük gépünket a váratlan lefagyástól.
A Linux különféle eszközöket tesz lehetővé a hibás folyamatok leállítására. Egy folyamat megöléséhez rendelkeznünk kell a folyamatinformációkkal, mint pl PID, jel és egyebek .
A folyamatok lokalizálása
Egy folyamat leállításához hozzá kell férnünk a folyamatinformációkhoz. Különféle parancsok léteznek egy folyamat nyomon követésére, mint pl tetejére , ps , markolat, és pidof.
A Linux rendszer lehetővé teszi számunkra, hogy különféle módokon megöljünk egy folyamatot, mint pl megöl egy folyamatot a nevével vagy a folyamatazonosítóval (PID). Tehát a fenti parancsokat igényünk szerint fogjuk használni.
A folyamatok helyének meghatározása 'top' paranccsal
A tetejére A parancs a Linux rendszerben futó összes folyamat listázására szolgál. Részletes információkat jelenít meg, mint például a PID, a felhasználónév, a CPU-használat, az idő, a végrehajtott parancs stb.
A folyamatok megkereséséhez hajtsa végre a parancsot a következőképpen:
dinamikus tömb java-ban
top
A fenti parancs megjeleníti a futó folyamatokat. Vegye figyelembe az alábbi kimenetet:
A terminálon fel-le görgetve tallózhatunk a folyamatok között. A top parancs különféle szűrőket biztosít a folyamatok szűrésére, például a folyamatnévre, a processzorhasználatra és egyebekre. A felső részből való kilépéshez nyomja meg a gombot 'q' gombot, akkor visszatér a terminálhoz. Használhatjuk azonban a hagyományos kilépési lehetőséget is, ha megnyomjuk CTRL+C kulcsok.
A folyamatok megkeresése ps és grep paranccsal
A ps parancs egy másik módja a folyamatinformációk megjelenítésének. A ps paranccsal számos opció használható, mint pl nak nek, ami azt jelenti:
a : A folyamatok megjelenítése az összes felhasználó számára
ban ben : Az adott felhasználó által használt folyamatok megjelenítése
x : Hogy megmutassa az összes folyamatot. Ha nem adjuk meg az x opciót, akkor nem jeleníti meg a GUI folyamatot.
Hajtsa végre az alábbi parancsot az összes futó folyamat listázásához:
ps aux
Vegye figyelembe az alábbi kimenetet:
A ps parancs kimenete hasonló a tetejére parancs. A folyamat neve és a PID az első két oszlopban, a folyamat neve pedig a jobb oldali oszlopban található.
A ps parancs hasznosabb, mint a top parancs. Lehetővé teszi a kimenet szűrését grep paranccsal.
Tegyük fel, hogy az összes folyamatot a javatpo+ felhasználónévvel akarjuk szűrni, hajtsa végre a parancsot a következőképpen:
ps aux | grep javatpo+
A fenti parancs a grep paranccsal szűri az összes megadott folyamatot. Vegye figyelembe az alábbi kimenetet:
A fenti kimenet együttesen biztosítja a ps parancsot, valamint a grep parancs funkcióit.
A folyamat megkeresése pidof és pgrep paranccsal
A pidof parancs lehetővé teszi a folyamat helyének meghatározását is. Ha egy folyamatot a neve alapján szeretnénk követni, akkor a pidof parancs nagyon hasznos lesz. Megjeleníti a folyamatok PID-jét, ha a folyamat nevével együtt használják.
Egy folyamat PID-jének megkereséséhez hajtsa végre a pidof parancsot a következőképpen:
pidof process_name
Ha megvan a futó folyamat pontos névvel króm , hajtsa végre a parancsot az alábbiak szerint a PID-ek lekéréséhez.
pidof chrome
vegye figyelembe az alábbi kimenetet:
Egy folyamat megölése
Most, hogy nyomon követtük a folyamatokat, megölhetünk egy folyamatot. Különféle parancsok léteznek egy folyamat leállítására, mint pl megöl , megöl , felső, és pkill.
Mielőtt megölnénk egy folyamatot, tudnunk kell, milyen folyamatokat ölhetünk meg. Az alábbiakban felsorolunk néhány lényeges pontot az ölési folyamatokkal kapcsolatban:
- Ha normál felhasználó vagy, akkor csak a hozzád tartozó folyamatokat tudod megölni. A többi felhasználó által futtatott folyamatokat nem lehet megölni. A tetejére és ps to parancsok megjelenítik a felhasználókat a kapcsolódó folyamattal.
- A root felhasználó meg tudja ölni az összes folyamatot. Azonban a sudo parancsot is hozzáadhatjuk bármely parancs elé, hogy rootként hajtsuk végre.
- Linuxban, amikor egy folyamatot leállítanak, egy speciális jelet továbbítanak a folyamatokhoz. Bár a Linuxban különféle típusú jelek léteznek, de ebben az esetben a Linux foglalkozik a SIGKILLS és TERM jeleket. Alapértelmezés szerint. A Linux elküldi a SIGTERM-et, amely kecsesen leállítja a folyamatot. Ha egy folyamatot erőszakkal meg akar ölni, használja helyette a SIGKILL-t.
- A Linux mindaddig megőrzi a folyamatok állapotát, amíg teljesen el nem távolítja a rendszerből. Tehát az utódfolyamatok mindaddig megjelennek a folyamatlistában, amíg egy szülőfolyamatot nem törölnek.
- Nem ölhetünk meg egy folyamatot, ha az benne van 'szakadatlan alvás .' Ez a helyzet akkor fordul elő, amikor egy folyamat bemeneti/kimeneti műveletet hajt végre. Ez az állapot látható a 8thoszlopa tetejére és ps a parancshoz.
Egy folyamat leállítása a killall paranccsal
A killall parancs a legegyszerűbb módszer egy folyamat leállítására, ha ismeri a folyamat pontos nevét, más felhasználó nem futtatja, és nincs Z vagy D állapotban. A kill all parancsban nincs szükség a folyamat vagy a PID megkeresésére. Egy folyamat leállításához hajtsa végre a következő parancsot:
killall firefox
A fenti parancs leállítja a folyamatot, és kilép a firefox böngészőből. Vegye figyelembe az alábbi kimenetet:
Ha a parancs sikeresen leállítja a folyamatot, nem ad ki semmilyen kimenetet.
A folyamat erőszakos leállításához hajtsa végre a killall parancsot a -SIGKILL paranccsal az alábbiak szerint:
killall -SIGKILL process_name
a -SIGKILL helyett -9-et is használhatunk.
Egy folyamat interaktív leállításához hajtsa végre a parancsot a következőképpen:
killall -i process_name
Egy folyamat másik felhasználóként történő leállításához hajtsa végre a következő parancsot:
sudo killall process_name
Használatával egy folyamatot is leállíthatunk egy meghatározott időtartamra -O és -és zászlókat. Egy több mint 20 perce futó folyamat leállításához hajtsa végre a következő parancsot: killall -o 20m process_name
Egy 20 percnél rövidebb ideig futó folyamat leállításához hajtsa végre az alábbi parancsot:
killall -y 20m process_name
Az időtartam használatának rövidítései a következők:
másodperc: s
perc: m
óra: h
napok: d
hét: w
hónapok: M
évek: y
Ölj meg egy folyamatot a pkill paranccsal
Néha nem tudjuk a folyamat pontos nevét; ilyen esetben a pkill parancs lesz a leghasznosabb segédprogram egy folyamat leállítására. Lehetővé teszi egy folyamat megölését a folyamat egyező nevének megadásával. Például meg akarjuk ölni az összes megfelelő java nevű folyamatot, hajtsa végre a parancsot a következőképpen:
pkill java
bezárja az összes java nevet tartalmazó folyamatot. Hasonlóképpen a firefox folyamat leállításához hajtsa végre a parancsot a következőképpen:
pkill fire
Vegye figyelembe az alábbi kimenetet:
Ha a pkill parancsot sikeresen végrehajtották, akkor nem jelenít meg semmilyen kimenetet.
Egy folyamat pkill paranccsal történő erőszakos leállításához hajtsa végre a következőképpen:
pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>
Ölj meg egy folyamatot a kill paranccsal
A kill parancs a legegyszerűbb segédprogram egy folyamat leállítására; csak egy folyamat PID-jére van szükségünk. Miután megkaptuk a folyamat PID-jét, ez egy egyenes folyamat. A folyamat leállításához hajtsa végre a kill parancsot, majd a PID parancsot. Egy folyamat PID-jének megkereséséhez használja a top vagy ps aux parancsot, a fent leírtak szerint.
Az 5296-os PID-vel rendelkező folyamat leállításához hajtsa végre a következő parancsot:
kill 5296
Egy folyamat kényszerített leállításához használja a -SIGKILL vagy -9 kapcsolót:
kill -SIGKILL 5296
A fenti parancs leállítja a PID 5296-os folyamatot.
Ölj meg egy folyamatot a felső paranccsal
A top parancs lehetővé teszi a folyamat megkeresését és leállítását. A folyamat leállítása egyszerű folyamat a top paranccsal. Először hajtsa végre a felső parancsot a folyamat megkereséséhez, és nyomja meg a gombot a K' gombot, miközben a parancs fut. Beugrik a folyamatgyilkos módba, és adja meg a megölni kívánt folyamat PID-jét. Vegye figyelembe az alábbi kimenetet:
Amint a fenti kimenetből láthatjuk, van egy lehetőség 'PID jel/kill' hogy megölje a folyamatot a fenti folyamatlistából. Írja be a folyamat PID-jét, és nyomja meg a gombot BELÉP kulcs.
Ha a PID-t üresen hagyjuk, az a legfelső folyamatot leállítja.
Ölj meg egy folyamatot a System Monitor segítségével
Leállíthatunk egy folyamatot a Linux grafikus környezetében is, amelyet rendszerfigyelőnek neveznek. Egy folyamat rendszerfigyelővel történő leállításához kövesse az alábbi lépéseket:
1. lépés: Keressen vagy böngésszen a rendszermonitoron, majd nyomja meg az Enter billentyűt a megnyitásához.
2. lépés: Felsorolja a Linux rendszer összes futó folyamatát. Vegye figyelembe az alábbi képet:
3. lépés: Böngésszen a folyamatban, és kattintson a jobb gombbal arra, amelyet le szeretne állítani.
4. lépés: Válassza a Kill opciót. Emellett használhatjuk a CTRL+K kulcsokat megölni.