Získání informací o procesech
Získání nereagujícího procesu je prvním krokem k jeho zabití. Informace o procesu můžeme získat pomocí dvou příkazů, tj.E., top a ps. Seznam spuštěných procesů zobrazíte zadáním příkazu top z příkazového řádku:
$ topNebo
$ ps
Některé důležité podrobnosti najdete na terminálu. Představte si například situaci, kdy proces související s „aplikací“ přestal reagovat. V našem případě existují čtyři instance aplikací spuštěných s ID procesu (PID) 5441, 3870, 5062 a 3637, 4233, 770, 3787, podle našeho horního zobrazení příkazu.
Ačkoli je vrchol velmi užitečný, není to vždy nejúčinnější způsob, jak získat informace. Nyní řekněme, že musíte zabít aplikační procesy, ale nechcete dostávat informace v reálném čase z hlavního příkazu. v tomto scénáři můžete použít příkaz ps. Dále můžeme výstup filtrovat pomocí příkazu grep. Zajímáme se pouze o výpis procesů souvisejících s aplikacemi. Pomocí níže uvedeného příkazu zobrazíte procesy související s aplikací:
$ ps aux | grep aplikaceZatímco,
a = Zobrazit všechny procesy související s uživateli
u = Zobrazit vlastníka / uživatele procesu.
x = Zobrazit všechny procesy, které nesouvisejí s terminálem
Grep vytiskne řádky, které odpovídají vzoru, zatímco ps vrátí snímek aktuálního procesu. Důvod, proč používat grep k filtrování ps, je jednoduchý: pokud spustíte ps sám, získáte snímek všech spuštěných procesů.
Zobrazit seznam signálů:
Zadejte kill -l pro zobrazení seznamu všech signálů. Pomocí příkazu kill můžeme vyslat různé signály.
Ze seznamu daných signálů můžeme vybrat libovolný signál.
$ kill -l
Existuje několik běžných signálů zabití:
Název signálů Hodnota signálu Účinek
SIGHUP 1 ZavěsteSIGINT 2 Přerušení z klávesnice
Signál zabití SIGKILL 9
SIGTERM 15 Ukončovací signál
SIGSTOP 17, 19, 23 Zastavte proces
Zabít procesy podle ID:
Pojďme tedy k ukončení naší aplikace použít příkaz kill. Syntaxe by vypadala takto:
Zabijte signál PIDPošlete signál zabití, abyste zabili 4129 procesů:
Zabij -9 4124
Pošlete signál pro zavěšení 5427 procesů:
Zabij -1 5427
Pošlete signál k přerušení procesu 5250 z klávesnice:
Zabij -2 5250
Proces zabití podle jména:
Pokud chcete zabít všechny procesy běžící v aplikaci. Použijte příkaz killall:
$ killall -9 aplikace
Všechny procesy spuštěné v aplikaci byly úspěšně zabity.
Závěr:
Před zabitím jakýchkoli procesů Linuxu nejprve potřebujeme zobrazit seznam všech spuštěných procesů, abychom získali ID procesu. S příkazem kill můžeme použít více signálů, zatímco každý signál se používá pro konkrétní účel.