GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Pkill v Linuxu

Tento článek popisuje základy linuxového pkill příkaz.

pkill je nástroj příkazového řádku, který odesílá signály procesům běžícího programu na základě daných kritérií. Procesy mohou být specifikovány jejich úplnými nebo částečnými názvy, uživatelem spouštějícím proces nebo jinými atributy.

pkill příkaz je součástí procps (nebo procps-ng ), který je předinstalovaný na téměř všech distribucích Linuxu. pkill je basicity obal kolem pgrep program, který pouze vytiskne seznam odpovídajících procesů.

Jak používat pkill Příkaz #

Syntaxe pro pkill příkaz je následující:

pkill [OPTIONS] <PATTERN>

Odpovídající <PATTERN> je specifikováno pomocí rozšířených regulárních výrazů.

Při vyvolání bez možnosti pkill odešle 15 (TERM ) signál do PID všech běžících programů, které se shodují s daným názvem. Chcete-li například elegantně zastavit všechny procesy firefox, spustili byste:

pkill -15 firefox

Příkaz vrátí 0 když alespoň jeden běžící proces odpovídá požadovanému názvu. Jinak je výstupní kód 1 . To může být užitečné při psaní skriptů shellu.

Chcete-li do odpovídajících procesů poslat jiný signál, vyvolejte pkill pomocí příkazu --signal následuje buď číselný, nebo symbolický název signálu. Dalším způsobem, jak poslat signál, je spustit pkill následovaný názvem signálu nebo číslem s pomlčkou (- ).

Použijte kill -l příkaz k zobrazení seznamu všech dostupných signálů.

Nejčastěji používané signály jsou:

  • 1 (HUP ):znovu načíst proces.
  • 9 (KILL ):zabít proces.
  • 15 (TERM ):elegantně zastavit proces.

Signály lze specifikovat třemi různými způsoby:

  • pomocí čísla (např. -1)
  • s předponou „SIG“ (např. -SIGHUP)
  • bez předpony „SIG“ (např. -HUP).

Chcete-li například znovu načíst procesy Nginx, které byste spustili:

pkill -HUP nginx

pkill používá regulární výrazy ke shodě s názvy procesů. Vždy je dobré použít pgrep příkaz k vytištění odpovídajících procesů před odesláním signálů k nim. Chcete-li například vypsat všechny procesy, které ve svých názvech obsahují „ssh“, postupujte takto:

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

Pokud chcete poslat signál pouze procesům, jejichž názvy jsou přesně podle vyhledávacího vzoru, použijte:

pkill '^ssh$'
Stříška (^ ) se shodují znaky na začátku řetězce a dolar $ na konci.

Ve výchozím nastavení pkill shoduje se pouze s názvem procesu. Když -f Pokud je použita volba, příkaz se shoduje s úplnými seznamy argumentů. Pokud příkaz obsahuje mezery, citujte celý příkaz:

pkill -9 -f "ping 8.8.8.8"

Použijte -u možnost sdělit pkill aby odpovídal procesům spouštěným daným uživatelem:

pkill -u mark

Chcete-li zadat více uživatelů, oddělte jejich jména čárkami:

pkill -u mark,danny

Můžete také kombinovat možnosti a vzory vyhledávání. Například poslat KILL signalizovat všechny procesy, které běží pod uživatelem „mark“ a obsahují „gnome“ ve svých názvech, které byste napsali:

pkill -9 -u mark gnome

Chcete-li zobrazit pouze nejméně nedávno (nejstarší) nebo naposledy (nejnovější) spuštěné procesy, použijte -n (pro nejnovější) nebo -o (pro nejstarší).

Chcete-li například zabít naposledy vytvořenou obrazovku:

pkill -9 -n screen

Závěr č.

pkill příkaz se používá k odesílání signálů spuštěným programům na základě různých kritérií.

Další informace o pkill přejděte na manuálovou stránku pkill nebo zadejte man pkill ve vašem terminálu.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. Linux příkaz ifconfig

  2. Linux cd příkaz

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

  1. Linux Time Command

  2. Příkaz Ping v Linuxu

  3. Linux Watch Command