Folyamatok leállítása Linux használatával
Időnként lefagy egy program, ilyenkor szükség van egy módszerre a megölésére. Linux számos megközelítést kínál a programok héjból történő kényszerített leállítására.
A „killall” parancs használata
Az Öld meg mindet parancs név szerint megöli az összes folyamatot. Ez azt jelenti, hogy ha ugyanannak a programnak három verziója fut, a killall parancs mindhármat megöli.
Nyisson meg például egy kis programot, például egy képnézegetőt. Most nyissa meg ugyanannak a képnézegetőnek egy másik példányát. Ez a példa az Xviewert használja, amely a következő klónja Eye Of Gnome.
Nyisson meg egy terminált, és írja be a következő parancsot:
killall xviewer
A program mindkét példánya bezárul.
Öld meg a pontos folyamatot
A killall parancs furcsa eredményeket produkálhat. Ha 15 karakternél hosszabb parancsnévvel rendelkezik, a killall parancs csak az első 15 karakteren működik. Ha tehát két olyan programja van, amelyeknek ugyanaz az első 15 karaktere, akkor mindkét program törlődik, bár csak az egyiket akarta megölni.
Ennek megkerüléséhez megadhatja a következő kapcsolót, amely csak a pontos névnek megfelelő fájlokat öli meg.
killall -e
A kis- és nagybetűk figyelmen kívül hagyása a programok leölésekor
Annak érdekében, hogy a killall parancs figyelmen kívül hagyja a megadott programnév kis- és nagybetűjét, használja a következő parancsot:
killall -I
killall --ignore-case
Öld meg az összes programot ugyanabban a csoportban
Amikor egy parancsot, például a következőt futtat, két folyamatot hoz létre:
ps -ef | Kevésbé
Egy parancs a ps -ef rész, amely felsorolja az összes futó folyamatot a rendszeren, és a kimenetet a rendszer a kevesebb parancsot. Mindkét program ugyanabba a csoportba tartozik, ami bash.
Mindkét program egyidejű leállításához futtassa a következő parancsot:
killall -g
Például a bash shellben futó összes parancs leállításához futtassa a következőt:
killall -g bash
Az összes futó csoport listázásához futtassa a következő parancsot:
ps -g
Kérjen megerősítést a gyilkos programok előtt
Nyilvánvaló, hogy a killall parancs egy erőteljes parancs, és nem akarja véletlenül megölni a rossz folyamatokat.
Amikor a következő kapcsolót használja, a rendszer megkérdezi, hogy biztos-e benne, mielőtt minden folyamat leáll.
killall -i
Állítsa le a bizonyos ideig futó folyamatokat
Képzelje el, hogy egy programot futtat, és sokkal tovább tart, mint azt remélte.
A parancsot a következő módon törölheti:
killall -o h4
Az h a fenti parancsban órákat jelent – ez a parancs leállítja a négy órán keresztül vagy tovább futó folyamatokat.
Adja meg a következő mérföldkövek egyikét:
- s: másodperc
- m: percek
- h: órák
- d: napok
- w: hét
- M: hónapok
- y: évek
Alternatív megoldásként a most induló parancsok leállításához használja a következő kapcsolót:
killall -y h4
Ezúttal a killall parancs megöl minden olyan programot, amely 4 óránál rövidebb ideig fut.
Ne szólj nekem, ha egy folyamatot nem öltek meg
Alapértelmezés szerint, ha megpróbál megölni egy nem futó programot, a következő hibaüzenet jelenik meg:
programnév: nem található folyamat
Ha nem szeretné, hogy közöljék vele, ha a folyamat nem található, használja a következő parancsot:
killall -q
Reguláris kifejezések használata
A program vagy parancs nevének megadása helyett adjon meg egy reguláris kifejezést, így a reguláris kifejezésnek megfelelő összes folyamatot a killall parancs zárja be.
Reguláris kifejezés használatához használja a következő parancsot:
killall -r
Programok megölése egy adott felhasználó számára
Egy adott felhasználó tulajdonában lévő program leállításához használja a -u kapcsoló:
killall -u
Hagyja ki a program nevét a felhasználó összes folyamatának leállításához.
Várd meg, amíg a killall befejeződik
Alapértelmezés szerint a killall visszatér a terminálhoz, amikor futtatja, de kényszerítheti a killall-t, hogy várja meg, amíg az összes megadott folyamat bezárul, mielőtt visszatérne a terminálablakba.
Futtassa a következő parancsot:
killall -w
Ha a program soha nem hal meg, akkor killall is tovább él.