A Linux operációs rendszer számos módot kínál a Linux operációs rendszer folyamatának leállítására. A program leállításának nyilvánvaló módja az, ha rákattint az X gombra a bal vagy a jobb felső sarokban. De számtalan más módon lehet megölni egy folyamatot; azért vagyunk itt, hogy megvitassuk a többi hatékony módszert.
Egy folyamat megölésének módjai Linux alatt
Ellenőrzési sorrend
Az imént elindított folyamat megölésének második nyilvánvaló módja a Ctrl-C beírása a parancssorba. A Ctrl-C vezérlési szekvencia általában biztonságos annak ellenére, hogy némi adatvesztés lehetséges.
A Ctrl-Z szekvencia felfüggeszti a futó folyamatot. A SIGTSP jelet egy folyamatnak küldi, amelynek alapértelmezett művelete a folyamat felfüggesztése.
kill parancsokat
A Linux operációs rendszerhez tartozik a kill parancs, amellyel leállíthat egy folyamatot, ha nem reagálnak vagy túl sok erőforrást emészt fel. A Linux rendszerben zajló folyamat egy program példánya.
A program indításakor automatikusan létrehoz egy egyedi PID-t ehhez a folyamathoz. Az init folyamat az első folyamat, amely akkor kezdődik, amikor egy Linux rendszert indítanak, és '1' értéket rendelnek hozzá.
Az Init a fő folyamat, és a kill paranccsal nem lehet megölni. Az kill folyamat parancs az init folyamatban csupán a rendszer leállításának kérése.
Ez az útmutató végigvezeti Önt a futó folyamat leállításának lépésein és számos módján a Linux terminál használatával.
A root felhasználó rendelkezik az összes folyamat megöléséhez szükséges engedéllyel. A root paranccsal megszerezheti a root parancsot, vagy hozzáadhatja a sudo parancsot a parancs előtt, és futtathatja azt.
A kill parancs által küldött alapértelmezett jel
Egy folyamat megöli a felmondási üzenetet a megadott folyamatnak. A felmondási üzenetek két fő típusa a következő:
• SIGTERM - A kill parancs alapértelmezés szerint SIGTERM jelet küld. Lehetővé kell tennie a folyamat befejezését a szokásos leállítási eljárásokkal. Ez egy kíméletesebb módszer a folyamat leállítására, és blokkolható lehet.
• SIGKILL - Ez mindig hirtelen megöl egy folyamatot. Ha a SIGKILL nem működik, akkor az operációs rendszer meghibásodott. Ez a leggyorsabb és leghatékonyabb módszer a folyamat megölésére.
Sorolja fel a futó folyamatokat
A legfelső parancs, a ps és a pidof parancs a legegyszerűbb módja a futó folyamatok megtekintésének a Linux rendszerben.
Szintaxis:
ps -e | grep folyamatnév
Az alábbi képernyőképen bemutatjuk, hogyan használhatjuk a ps parancsot annak ellenőrzésére, hogy a MySQL fut-e a rendszeren. Megadja a MySQL démon PID azonosítóját, amely 1162.
A ps parancshoz hozzáadható általános lehetőségek
• -a: az összes felhasználó folyamatainak megtekintése.
• -u: részletes információk megtekintése az egyes folyamatokról.
• -x: az összes folyamat megtekintése, amelyet démonok vezérelnek.
ps -e
Szintaxis:
tetejére
A legfelső parancs megmutatja a PID-t, a felhasználót, az erőforrás nevét és azt, hogy az egyes folyamatok hány rendszererőforrást használnak. Ezek akkor hasznosak, ha úgy dönt, hogy bármelyik folyamatot leállítja.
A pgrep parancs használata szintén nagyon hatékony a megfelelő folyamatazonosító megszerzésében.
A pgrep Parancshoz hozzáadható általános lehetőségek.
• -l: a folyamatnevek és a PID-k felsorolása.
• -n: Visszaadja a legújabb folyamatot.
• -o: Visszaadja a legrégebbi folyamatot.
• -u: Olyan folyamatok keresése, amelyek egy adott felhasználóhoz tartoznak.
• -x: Keressen egy folyamatot, amely pontosan megfelel egy adott mintának.
A pidof paranccsal megkereshető egy folyamat IP-je, ha ismeri a folyamat nevét.
Szintaxis:
pidof
Opciók:
• -c: PID-ket ad vissza egyetlen gyökérkönyvtárban.
• -o: Egyes PID-ket kihagy.
• -s: egyetlen PID visszaadása.
• -x: A parancsfájlokat futtató héjak PID-jét adja eredményül.
Egy folyamatot meg lehet ölni a Linuxban különböző módszerekkel, attól függően, hogy tudja-e a folyamat PID-jét, a folyamat nevét vagy a folyamat futtatásának idejét.
killall parancs
A killall parancs a folyamatok név szerinti megölésére szolgál. Több parancsot képes megölni egyetlen paranccsal, és alapértelmezés szerint SIGTERM jelet küld.
Szintaxis:
Öld meg mind
A killall paranccsal elérhető opciók:
• -e: Visszaadja a folyamat nevének pontos egyezését.
• -I: A parancs figyelmen kívül hagyja az esetet, amikor megtalálja a folyamat nevét.
• -i: További információkat kér, ha egy eljárást név szerint megölik.
-U: Megöli azokat a folyamatokat, amelyek a rendszer meghatározott felhasználójának tulajdonában vannak.
• -v: Visszajelzést ad arról, hogy a kill folyamat sikeresen végrehajtásra került-e.
A killall parancs a folyamatok futási ideje alapján le is állíthatja a folyamatokat egy Linux rendszerben.
• -o: Ez az opció az összes folyamatot megöli a megadott ideig.
• -y: Ez az opció megöl minden olyan folyamatot, amely kevesebb, mint a megadott idő.
Példa:
• killall -o 20m: A parancs megöli az összes 20 percnél régebbi folyamatot.
• Killall -y 20m: A parancs megöli az összes 15 percnél rövidebb ideig futó folyamatot.
kill parancs
A kill parancs megöli a folyamatot, ha ismeri a folyamat IP-jét.
Szintaxis:
megöl
A kill parancs egyetlen folyamatot öl meg a megadott folyamatazonosítóval. A Parancs SIGTERM jelet küld, hogy álljon meg, és várja meg, amíg a folyamat elvégzi a szokásos leállítási eljárásokat.
Ölj -9 parancs
A kill -9 parancs a nem válaszoló folyamatok vagy szolgáltatások megszüntetésére szolgál.
Szintaxis:
ölni -9
vagy
ölni -SIGKILL
A kill -9 parancs SIGKILL jelet küld, hogy azonnal leállítson egy folyamatot. A kill -9 parancs megkerüli a szokásos leállítási rutint, és minden el nem mentett adat elvész.
A nem válaszoló programok figyelmen kívül hagyják a kill parancsot, de leállnak, amikor a kill -9 parancsot kiadják.
Egyéb általánosan használt ölési lehetőségek a következők:
-1 (HUP): Ez a "leteszi" opciót, és általában nagyon biztonságos.
• -2 (SIGINT): Ez ugyanaz a jel, mint a Ctrl-C, és biztonságos alternatívának számít egy program megölésére.
-15 (-TERM): ez az alapértelmezett befejező jel, és általában nagyon biztonságos.
Az összes elérhető jel teljes listáját a kill -l paranccsal szerezheti be.
pkill parancs
A pkill parancs megöl egy folyamatot, amikor ismeri a folyamat nevét. Alapértelmezés szerint a pkill elküldi a SIGTERM jelet a folyamat befejezéséhez.
Szintaxis:
pkill
pkill opciók:
• -n: Ez a parancs megöli a legújabb folyamatokat.
• -o: Ez a parancs megöli a legrégebbi folyamatokat.
• -u: Ez a parancs a kiválasztott felhasználó alapján megöli a folyamatokat.
• -x: Ez a parancs megöli a mintának megfelelő folyamatokat.
• -signal: Az alapértelmezett SIGTERM jeltől eltérő meghatározott jelet küld.
xkill
Az xkill parancs bezárja a szerver kapcsolatát az ügyfelekkel.
xkill
Az xkill parancs leállítja a nem kívánt szerver folyamatokat.
felső parancs
A legfelső parancs egy interfészt biztosít, amelyen keresztül a felhasználó megadhatja a felmondási folyamatot.
Szintaxis:
tetejére
Ha egy folyamatot PID-vel akar megölni, helyezze be a k-t az interfészről, majd írja be a megadott folyamatazonosítót.
Újrafutóz
• Szüksége van sudo jogosultságokra a folyamat parancssoron keresztüli elpusztításához.
• Amikor a kill paranccsal generál jelet, a Linux rendszer megszakítja a célfolyamat normál végrehajtási folyamatát.
• Egy futó folyamat megtalálásához használhatja a ps, top, pgrep vagy pidof parancsokat.
• Megölhet egy folyamatot név vagy folyamatazonosító segítségével a kilall, pkill, kill, xkill vagy top parancsokkal.
• A megölési folyamat a SIGTERM, SIGHUP vagy SIGKILL befejező jelet küld.
• A System Monitor segítségével megölheti a Linux folyamatot. Megtalálható a rendszereszközökben, és számos lehetőséget kínál, mint például a legfelső folyamat, a folyamat befejezése vagy a folyamat megölése.
• A kill parancs és annak változatai meglehetősen egyértelműek és használhatók.
Ebben az útmutatóban különféle módszereket emeltünk ki a folyamatok elpusztítására a Linux rendszerben. Van egy kis tanulási görbe az általa kínált jelopciók listájában, ami elengedhetetlen a megfelelő Linux-adminisztrációhoz. Ha többet szeretne megtudni, javasoljuk, hogy nézze meg a megfelelő man oldalakat.