pgrep (acronimo di process grep) è un comando dei sistemi operativi Unix e Unix-like che consente di effettuare particolari filtraggi e rappresentazioni dei PID dei processi in esecuzione, in modo più flessibile rispetto al comando ps. Il comando viene usato in tandem con pkill destinato ad inviare segnali ai processi in esecuzione.
Sintassi
[modifica | modifica wikitesto]pgrep [-flvx] [-d delimiter] [-n|-o] [-P ppid,...] [-g pgrp,...] [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...] [-t term,...] [pattern]
Le opzioni del comando consentono sia di specificare elementi di filtraggio (ad esempio -P, -U) che di rappresentazione dell'outupt (-d).
L'attributo pattern serve per identificare il nome del programma in esecuzione, anche utilizzando espressioni regolari.
Esempi di utilizzo
[modifica | modifica wikitesto]Elenco dei processi in esecuzione di proprietà dell'utente root. L'opzione -d consente di separare i vari PID con una virgola in luogo del newline.
$ pgrep -u root -d ", " 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 47, 48, 49, 50, 51, 52, 53, 54, 55, 240, 241, 242, 243, 258, 266, 267, 313, 314, 315, 348, 376, 379, 597, 657, 807, 825, 860, 891, 899, 912, 921, 991, 996, 1032, 1041, 1057, 1063, 1077, 1081, 1084, 1092, 1101, 1232, 1247, 1290, 1405, 1416, 1418, 1516, 1920, 1921, 2165, 2646, 2647, 2713, 2719, 2764, 3161, 5781
È anche possibile utilizzare il pattern per elencare i processi in base al nome dell'eseguibile. Nel seguente esempio sono elencati tutti i processi dell'utente test il cui eseguibile ha un nome che inizia per gnome
pgrep -u test gnome* -d ", " 2814, 2859, 2865, 2891, 2893, 3045, 5254, 5258
Interessante confrontare il risultato dell'esempio precedente con il risultato di una combinazione dei comandi ps e grep
$ ps aux |grep "^test"|grep gnome test 2814 0.0 0.7 35468 7664? Ssl 20:26 0:00 gnome-session test 2859 0.0 1.0 73420 11160? Sl 20:26 0:00 gnome-power-manager test 2891 0.0 2.1 84732 21556? Sl 20:26 0:02 gnome-panel [...]
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) pgrep lookup processes based on name and other attributes, in Unix man pages. URL consultato il 24-08-2011 (archiviato dall'url originale il 7 gennaio 2013).