GNU/Linux >> Znalost Linux >  >> Linux

Jak zabít proces v Linuxu

Úvod

Chcete-li plně využívat svůj systém, musíte sledovat, co se děje, a sledovat využití systému.

Linux není dokonalý svět, samozřejmě lépe využívá vaše zdroje, ale stejně jako jakýkoli jiný operační systém mohou existovat zdroje, které se vymknou kontrole nebo přestanou reagovat nebo možná spotřebovávají mnoho zdrojů nebo více, než potřebují.

Za tímto účelem jsme zde, abychom si promluvili o tom, jak jednat a ukončit neposlušné úkoly, když běžné způsoby nepřijdou vhod.

Existuje mnoho způsobů, jak ovládat svůj systém a jeden z nich, který je naším dnešním tématem, je ZABIJIT příkaz

Co je příkaz KILL?

Kill command je vestavěný nástroj v Linuxu, který vám umožňuje ukončit procesy ručně. Vyšle signál procesu zavěšení, aby jej ukončil.

Existují různé typy signálů, které může příkaz KILL poslat procesu,

pro jejich zobrazení spusťte následující příkaz:

Signály můžete zadat v možnostech příkazu jedním ze tří způsobů:

● Pomocí čísla

kill -15 or kill -s 15

● Zadání prefixu SIG

kill -SIGTERM or kill -s SIGTERM

● Bez předpony SIG

kill -TERM or kill -s TERM

Pokud neurčíte žádný signál, TERM (-15) signál je výchozí signál.

Vyhledání procesu

Než proces ukončíte, musíte identifikovat jeho PID (ID procesu),

k tomu existují různé způsoby

Příkaz PS

Jedinečné číslo procesu můžete najít pomocí příkazu PS v sekci PID

Chcete-li získat více informací o příkazu PS a jeho možnostech, navštivte tento článek

Jak používat příkaz PS

TOP příkaz

Najděte PID také v příkazu TOP v první sekci

Chcete-li získat více informací o příkazu PS a jeho možnostech, navštivte tento článek

Jak používat příkaz TOP

PIDOF a PGREP

Pokud chcete způsob vyhledávání podle jména, abyste našli odpovídající ID, můžete použít tyto dva příkazy.

PIDOF je jednoduché, musíte znát celý název procesu, abyste získali všechna PID pro tento přesný název

pokud neznáte celý název procesu, zde můžete použít PGREP získat PID

Procesy, které nemůžete ZABÍT

Pokud jste normální uživatel, můžete pouze ZABIJIT své vlastní procesy, ale uživatel root může všechny procesy ukončit. Použijte sudo před příkazem vystupovat jako super uživatel

Když zabijete proces, TERM signál je odesílán ve výchozím nastavení, jak jsme zmínili dříve, což umožňuje programu spustit některé kódy před ukončením, což dává programu šanci ukončit se elegantně. Pokud chcete proces násilně ukončit, použijte SEGKILL místo

Linuxové jádro uchovává nějaké informace o ukončených procesech, aby nadřazený proces mohl zjistit stav podřízených procesů a zda byl ukončen sám nebo byl zabit. Tyto zombie procesy se objeví v seznamu procesů a nemůžete je ZABÍT

Když proces provádí vstupní nebo výstupní operace, nachází se v nepřerušitelném spánku a ani tyto procesy nemůžete ZABÍT

Můžete rozlišit procesy ve stavu zombie nebo nepřerušitelný spánek tak, že se podíváte na sekci stavu nahoře a uvidíte Z nebo D respektive.

Nyní ten proces zabijme

Po nalezení PID jednoduše spusťte následující příkaz

Signál TERM můžete buď identifikovat v možnostech, nebo vyslat do programu jiný signál

ZABIJTE podle jména

Pokud znáte název procesu, můžete jej zabít podle jména pomocí PKILL příkaz

toto ukončí jakýkoli proces, který obsahuje chrome v něm

Můžete také určit typ signálu

UKONČIT všechny procesy

Můžete zabít všechny procesy, které mají stejný název, aniž byste museli hledat PID,

jeden z nejjednodušších způsobů, jak zabít proces

je to podobné jako pkill a také můžete odesílat různé typy signálů

Proces, který běží déle než určitou dobu, můžete ukončit pomocí –o možnost

killall -o 30m process_name

nebo zabití procesu, který běžel méně než po dobu, jak je uvedeno níže

killall -y 10s process_name

všimněte si, že m ve 30m představuje minuty a s za 10 s je pro sekundy.

Závěr

Stejně jako u jiných operačních systémů může mít Linux některé programy, které se zasekávají nebo nereagují, a proto k ukončení procesů, které spotřebovávají zdroje systému, potřebujete příkaz KILL.

Chcete-li získat další informace, použijte člověk pro příkaz kill a podívejte se na oficiální dokumentaci.


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

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

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

  1. Jak zabít proces zombie na Linuxu

  2. Jak používat Su Command v Linuxu

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

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

  2. Jak pozastavit/obnovit proces v Linuxu

  3. Restartujte proces na linuxu pomocí jeho pidn čísla pomocí příkazu kill, jak?