logo

Hogyan lehet megölni egy folyamatot Linuxban?

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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:

Kill Process Linux

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.