kill příkaz v Linuxu (umístěný v /bin/kill), je vestavěný příkaz, který se používá k ručnímu ukončení procesů. zabít příkaz vyšle signál procesu, který proces ukončí. Pokud uživatel nezadá žádný signál, který má být odeslán spolu s příkazem kill, pak výchozí OBDOBÍ je odeslán signál, který proces ukončí.
Základní syntaxe příkazu kill v Linuxu
Základní syntaxe příkazu `kill` je následující:
Syntaxe:
kill [signal] PID>
Tady,
vytvoření věštecké tabulky
- PID = Příkaz `kill` vyžaduje ID procesu (PID) procesu, který chceme ukončit.
- [signál] = Musíme specifikovat signál a pokud neuvedeme signál, výchozí signál ` TERMÍN' je odeslán k ukončení procesu
Signály lze specifikovat třemi způsoby:
Signály lze specifikovat třemi způsoby; jsou následující:
1. Podle čísla:
Signál můžeme specifikovat pomocí čísla. Například máme PID ` 1212 ` a chcete vyslat signál `SIGKILL` k zabití tohoto PID. SIGKILL má číslo signálu ` 9 ` (Chcete-li najít čísla signálů, spusťte příkaz `kill -l`).
Syntax:
kill -9 1212>
2. S předponou SIG (např./ -SIGkill)
Signál můžeme také specifikovat pomocí prefixu SIG. Například potřebujeme vyslat signál ` OBDOBÍ ` a PID je ` 1432 '. Pro kontrolu čísla signálu `SIGTERM` můžeme použít příkaz `kill -l`.
Syntax:
kill -SIGTERM 1432>
3. Bez předpony SIG:
Můžeme také specifikovat signály bez použití prefixu SIG. Například, pokud chcete poslat signál ` TERMÍN' a PID 1234 '. Pro kontrolu čísla signálu `TERM` můžeme použít příkaz `kill -l`.
Syntax:
kill -TERM 1234>
Některé běžné signály v příkazu kill
Níže uvedená tabulka ukazuje některé běžné signály a jejich odpovídající čísla.
| Název signálu | Číslo signálu | Popis |
|---|---|---|
| VZDYCHNOUT | 1 | Detekováno zablokování na řídících terminálech nebo smrt řídícího procesu. |
| SIGINT | 2 | Přeruší to z klávesnice. |
| SIGKILL | 9 | Zabíjí signál. |
| OBDOBÍ | patnáct | Ukončí signál. |
Pro kontrolu názvu a čísla signálu můžeme použít ` zabít -l ` příkaz.
Možnosti a příklady příkazu kill v Linuxu
zabít -l Volba
Chcete-li zobrazit všechny dostupné signály, můžete použít následující příkaz:
Syntax:
kill -l>
zabít -l
pár c++
Poznámka:
- Záporné hodnoty PID se používají k označení ID skupiny procesů. Pokud předáte ID skupiny procesů, signál obdrží všechny procesy v této skupině.
- PID -1 je velmi speciální, protože označuje všechny procesy kromě kill a init, což je nadřazený proces všech procesů v systému.
- Chcete-li zobrazit seznam běžících procesů, použijte příkaz ps a to vám ukáže běžící procesy s jejich PID číslem. Abychom určili, který proces by měl přijímat signál zabíjení, musíme zadat PID.
Syntax:
ps>
ps
zabít PID Volba
Tato volba určuje ID procesu procesu, který má být ukončen.
Syntax:
kill pid>
zabít -s Volba
Tato volba určuje signál, který má být odeslán do procesu.
Syntax:
kill -signal pid>
kill Command v Linuxu -FAQ
Jak zabít proces z příkazového řádku Linuxu?
Chcete-li zabít proces z příkazového řádku Linuxu, můžete použít
kill>příkaz následovaný ID procesu (PID) cílového procesu. Chcete-li například ukončit proces s PID 1234, použijte následující příkaz:kill 1234>Ve výchozím nastavení je
kill>příkaz odešle signál SIGTERM a umožní procesu provést operace čištění před ukončením. Pokud proces nereaguje na SIGTERM nebo pokud je vyžadováno okamžité ukončení, můžete použít signál SIGKILL s-9>volba:kill -9 1234>Je důležité si uvědomit, že násilné ukončení procesu pomocí SIGKILL může vést ke ztrátě nebo poškození dat, proto se doporučuje nejprve vyzkoušet SIGTERM a uchýlit se k SIGKILL pouze v případě potřeby.
multiplexer
Jak zabít více procesů najednou?
Pomocí příkazu kill můžeme zabít více procesů najednou. Potřebujeme pouze zadat více PID oddělených mezerami, nebo můžeme také použít příkaz `killall` k ukončení všech procesů s konkrétním názvem.
Například:
Pokud chceme zabít procesy PID jako 1234, 4321 a 2342, můžeme použít následující příkaz:
kill 1234 4321 2342>Pokud chceme zabít všechny procesy s názvem firefox. Můžeme použít následující příkaz.
killall firefox>
Je bezpečné zabít systémové procesy?
Ne, je důležité si uvědomit, že pouze zabíjet procesy, o kterých víme, že jsou bezpečné, a zabíjení systémových procesů může způsobit nestabilitu systému. Vždy je lepší použít jiné metody, jako je restartování systému nebo identifikace hlavní příčiny problému a jeho odstranění.
Jaký je rozdíl mezi SIGTERM a SIGKILL v příkazu `kill` v Linuxu?
SIGTERM, vyšle do procesu ukončovací signál, který pomůže elegantně odejít. Zatímco SIGKILL vyšle do procesu signál zabíjení, který procesy násilně a okamžitě ukončí.
Například:
Pro odeslání signálu `SIGTERM` a PID `4321` můžeme použít následující příkaz.
kill -15 4321>K odeslání signálu `SIGKILL` a PID `4321` můžeme použít následující příkaz.
kill -9 4321>
Jak najdu ID procesu (PID) konkrétního programu v Linuxu?
Chcete-li zjistit PID konkrétního programu, můžete použít
pgrep>příkaz následovaný názvem programu. Chcete-li například najít PID procesu firefox, zadejte:pgrep firefox>
Jaký je účelpkill>a jak se liší od příkazukill>příkaz?
The
pkill>příkaz se používá k odesílání signálů procesům na základě jejich názvu, což poskytuje pohodlnější způsob ukončení procesů. Liší se odkill>tím, že uživatelům umožňuje specifikovat procesy podle názvu, nikoli podle PID.
Jak mohu zkontrolovat využití prostředků (CPU, paměť) konkrétního procesu v Linuxu?
Chcete-li zkontrolovat využití prostředků konkrétního procesu, můžete použít
top>příkaz spolu s ID procesu (PID). Chcete-li například sledovat využití prostředků procesu s PID 1234, spustili byste:top -p 1234>
Závěr
Příkaz `kill` v Linuxu je velmi výkonný nástroj pro správu procesů. Pochopili jsme různé způsoby, jak specifikovat signály a dostupné možnosti v příkazu kill, které nám mohou pomoci efektivně spravovat naše systémové prostředky a řešit problémy rychle a efektivně.
zabít -s