Identificare processi in Linux con pgrep

Mattepuffo's logo
Identificare processi in Linux con pgrep

Identificare processi in Linux con pgrep

Tutti conoscono il comando grep, ma non tutti conoscono pgrep.

Bene, questo utile comando (che trovate anche in Mac OS X) è acronimo di process grep, e permette di identificare i processi usando particolari filtraggi.

In genere per queste cose viene usato il comando ps, ma pgrep risulta più flessibile.

Vediamo qualche esempio.

Vogliamo ottenere la lista dei processi dell'utente riguardanti Cinnamon con i PID separati da virgola:

$ pgrep -u matte cinnamon* -d ", "
2108, 2176, 2277, 2279, 2347

Con l'opzione -d diciamo di separare i vari PID con una virgola.

Se volessimo fare la stessa cosa con ps:

$ ps aux |grep "^matte"|grep cinnamon
matte     2108  0.0  0.5 465988 47172 ?        Ssl  09:54   0:00 cinnamon-session --session cinnamon
matte     2176  0.0  0.8 889040 65932 ?        Sl   09:54   0:00 /usr/lib/cinnamon-settings-daemon/cinnamon-settings-daemon
matte     2271  0.0  0.4 450332 37260 ?        Sl   09:54   0:00 /usr/lib/cinnamon-settings-daemon/csd-printer
matte     2277  0.0  0.6 335196 56816 ?        Sl   09:54   0:00 /usr/bin/python2 /usr/bin/cinnamon-launcher
matte     2279  2.5  3.9 1887880 319316 ?      Sl   09:54   0:53 cinnamon --replace
matte     2347  0.0  0.5 464492 47604 ?        Sl   09:54   0:00 cinnamon-screensaver
matte     2783  0.0  0.0  11204  2352 pts/0    S+   10:29   0:00 grep cinnamon

Il comando risulta un pò più scomodo, e soprattutto non a portata dei newbie.

Altra comodità è quella di ottenere facilmente il comando completo di un determinato programma:

$ pgrep -fl cinnamon
2108 cinnamon-sessio
2176 cinnamon-settin
2271 csd-printer
2277 cinnamon-launch
2279 cinnamon
2347 cinnamon-screen

L'unica cosa che non capisco bene è perchè alcune righe risultino troncate; ma diciamo che nel complesso si capiscono bene.

Direi che è tutto!

Buona immacolata a tutti!


Condividi

Commentami!