Process Grep, běžně známý jako pgrep, je další populární metoda používaná k nalezení ID procesů v shellu. Pokud známe jméno procesu, můžeme jej zadat příkazem pgrep. Příkaz pgrep zobrazuje PID procesů, které odpovídají jakémukoli danému vzoru, podobně jako se grep používá ke shodě vzorů v textovém souboru. Vzory mohou zahrnovat:jméno nebo ID uživatele (UID) uživatele, který jej vyvolal; čas zahájení; rodičovský PID; a další.
Pokud neznáte jeho přesné PID, můžete použít pgrep, který vám pomůže identifikovat proces na základě více faktorů. Identifikace PID je obvykle prvním krokem při řízení procesu.
Syntaxe
Syntaxe příkazu pgrep je:
# pgrep [options] {pattern}
Pokud při spouštění příkazu pgrep narazíte na níže uvedenou chybu:
pgrep: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:
Distribuce OS | Příkaz |
---|---|
Debian | instalační procps apt-get |
Ubuntu | instalační procps apt-get |
Alpine | apk add procps |
Arch Linux | pacman -S procps-ng |
Kali Linux | instalační procps apt-get |
CentOS | yum install procps-ng |
Fedora | dnf install procps-ng |
Raspbian | instalační procps apt-get |
Příklady příkazů pgrep
1. Vraťte PID všech běžících procesů s odpovídajícím příkazovým řetězcem:
# pgrep process_name
2. Vyhledejte procesy včetně jejich možností příkazového řádku:
# pgrep --full "process_name parameter"
3. Vyhledejte procesy spuštěné konkrétním uživatelem:
# pgrep --euid root process_name
4. Chcete-li vypsat procesy s názvem příkazu sshd, který je také ve vlastnictví uživatele root, spusťte příkazový řádek následovně:
# pgrep -u root sshd
5. Chcete-li vypsat procesy vlastněné uživatelem root nebo démon, spusťte příkazový řádek následovně:
# pgrep -u root,daemon
6. Příkaz pgrep lze použít k výpisu procesů zadáním vzoru obsahujícího název procesu. Následující příkazový řádek najde PID procesu, který má název Firefox:
# pgrep firefox
7. Následující příklad ukazuje použití příkazu pgrep k vypsání všech procesů uživatele student:
# pgrep -U student
8. Volba -d určuje oddělovač výstupu jiný než výchozí nový řádek:
# pgrep COMMAND -d DELIMITER_STRING # pgrep bash -d ":" 1255:1680
9. Volba -c vrací počet odpovídajících procesů:
# pgrep -c COMMAND