Ú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.