GNU/Linux >> Znalost Linux >  >> Linux

Jak zabít proces v Linuxu

Úkoly v Linuxu se nazývají procesy. Každý proces má jedinečné ID procesu. V tomto tutoriálu vám ukážeme, jak ukončit proces pomocí příkazů Linuxu, abyste zlepšili své dovednosti v oblasti správy VPS.

K čemu se používá příkaz Kill?

Někdy se může stát, že spustíte server nebo aplikaci, zapomenete na to a budete je muset vypnout. V takových scénářích můžeme použít příkaz kill.

Níže je několik příkladů, kde může být příkaz kill užitečný:

  • Zastavit jakýkoli automatizovaný proces
  • Zastavení procesu, který byl spuštěn omylem
  • Zastavení procesu, který spotřebovává hodně paměti
  • Vynutit zastavení jakéhokoli procesu spuštěného v systému Linux
  • Zastavení procesu na pozadí

Kromě zastavení procesu může příkaz kill poskytnout několik funkcí. Například poslat signál procesu. Ve výchozím nastavení je to bráno jako signál TERM, který ukončí proces.

Jak zobrazit ID procesu v Linuxu

Příkazy Kill vám umožňují ukončit proces pomocí specifického ID procesu, známého také jako pid. Chcete-li zobrazit pid v Linuxu, můžete provést následující příkaz:

ps

Zobrazí se seznam všech dostupných procesů s pid. Pokud chcete svůj seznam upřesnit – přidejte příkaz grep, jako je tento:

ps -ux | grep java

Toto zobrazí všechny běžící java procesy ve výstupu.

Jak zobrazit všechny povelové signály pro zabití

V Linuxu je k dispozici několik signálů, které lze použít k přerušení, ukončení nebo pozastavení procesů. Příkaz lze použít následovně:

kill -l

Tento příkaz zobrazí na stránce ruční zadání různých signálů ukončení s jejich názvy a odpovídajícími čísly. I když je k dispozici více signálů, ve většině případů bychom použili SIGKILL (9) a SIGTERM (15).

Jak zabít proces v Linuxu pomocí terminálu

Nyní jsme připraveni jít dál a naučit se všechna různá použití příkazu Kill. Chcete-li pokračovat, přejděte na svůj virtuální privátní server pomocí SSH.

Použití příkazu Kill s PID

Chcete-li zabít konkrétní proces pomocí PID použijte následující příkaz:

kill 63772

Zde je 63772 pid pro proces, který chceme ukončit. Protože není zadán žádný signál, bude to SIGTERM signál. Někdy to nemusí fungovat; v takovém případě možná budete muset proces násilně zabít.

V takových případech můžete použít formát příkazu, jak je uvedeno níže:

kill [Signal_or_Option] pid

Níže je ukázkový příkaz k násilnému ukončení procesu:

kill SIGKILL 63772

Podobně pro zabití pomocí kratší možnosti, kterou můžete použít:

kill -9 63772

Aby byl proces ukončen, nahraďte 63772 příslušným pid.

Jak zabít více procesů v Linuxu

Stejným příkazem můžete zabít více procesů. Syntaxe tohoto příkazu by byla:

kill -9 pid1 pid2 pid3

Zde je příklad ukazující, jak by to vypadalo ve skutečném světě:

kill -9 63772 45116 23465

Jak zabít proces v Linuxu pomocí příkazu Pkill

Pkill je varianta příkazu kill, kde můžete zadat název procesu nebo vzor pro nalezení procesu:

pkill chrome

Výše uvedený příkaz zabije prohlížeč Chrome. Můžete také zadat částečnou shodu názvu na příkazovém řádku, například:

pkill chr

Tento příkaz však s sebou nese riziko, že někdy zabije nesprávný proces, zvláště pokud existuje více procesů se stejným názvem.

Seznam můžete zkontrolovat pomocí úplného názvu procesu:

pidof chrome

Výše uvedený příkaz lze použít, pokud znáte úplný název procesu.

Odpovídající procesy můžete zkontrolovat pomocí částečného názvu:

pgrep -l chr

Tento příkaz vypíše proces s odpovídajícím ID procesu.

Jak zabít proces v Linuxu pomocí příkazu Killall

Základní rozdíl mezi killall a kill je ten, že killall může ukončit proces jménem, ​​zatímco příkaz kill používá pid.

Příkladem takového příkazu je:

killall chrome

To je podobné jako pkill. Killall však provádí přesnou shodu názvu, zatímco pkill může provádět shodu se vzorem. To je jeden z důvodů, killall je bezpečnější než pkill.

Dalším rozdílem je kořenový balíček, ke kterému tyto příkazy patří. V Linuxu killall patří do balíčku psmisc. Na druhou stranu příkazy jako ps, top, kill, pkill patří do balíčku procps.

Dalším rozdílem je, že killall lze upravit tak, aby ukončoval procesy na základě časových razítek. V případě, že chcete ukončit proces, který běží méně než 40 minut, můžete použít:

killall -y 40m [Process_Name>]

Podobně můžete použít níže uvedené možnosti spolu s příkazem killall:

  • s – sekund
  • m – minuty
  • h – hodiny
  • d – dny
  • týdny
  • M – měsíce
  • y – roky

Závěr

To pokrývá nejdůležitější a nejužitečnější příkazy zabíjení. Další informace o tomto základním nástroji naleznete v příručce Linux. Hodně štěstí s vaším projektem, uvidíme se v dalším tutoriálu!


Linux
  1. Jak nainstalovat vtop na Linux

  2. Jak zabít proces běžící na konkrétním portu v Linuxu?

  3. Jak zabít proces v Linuxu pomocí příkazu?

  1. Jak zabít proces zombie na Linuxu

  2. Jak zabít zombie proces

  3. Jak pozastavit/obnovit proces v Linuxu

  1. Jak najít a zabít zombie proces v Linuxu

  2. Jak zabít běžící procesy v Linuxu

  3. Příklady příkazů kill v Linuxu