Als je wilt weten of een bepaald proces draait, grijpen veel gebruikers naar ps aux | grep procesnaam. Dat werkt, maar pgrep is compacter en krachtiger. Het commando zoekt direct in de procestabel en geeft standaard alleen de PID terug.
pgrep firefox
Geeft de PID(s) terug van alle processen waarvan de naam "firefox" bevat. Geen extra pipes nodig.
-l)pgrep -l ssh
Uitvoer:
1234 sshd
1456 ssh
Handig als je niet zeker weet hoe het proces exact heet.
-a)pgrep -a python
Uitvoer:
2345 python3 /home/dexter/scripts/monitor.py
Zo zie je niet alleen de naam maar ook met welke argumenten het proces gestart is.
-f)Standaard zoekt pgrep alleen in de procesnaam. Met -f zoek je in de hele commandoregel:
pgrep -f monitor.py
Handig als je een specifiek script of argument wilt vinden.
-x)pgrep -x bash
Geeft alleen processen die exact "bash" heten — dus geen "rbash" of "bash_profile".
-c)pgrep -c nginx
Geeft simpelweg het aantal draaiende nginx-processen terug. Handig in scripts.
if pgrep -x mpd > /dev/null; then
echo "MPD draait"
fi
pgrep geeft exitcode 0 als er een match is, en 1 als er geen is. Door de uitvoer naar /dev/null te sturen gebruik je het puur als true/false check.
-u)pgrep -u dexter
Toont alle processen die onder jouw gebruikersnaam draaien.
pgrep -u dexter python
Combineert gebruiker én procesnaam: alleen Python-processen van dexter.
-v)pgrep -v -u root
Alle processen die niet van root zijn. Minder vaak nodig, maar kan handig zijn in scripts.
-n en -o)pgrep -n bash # meest recent gestarte bash
pgrep -o bash # langst draaiende bash
Nuttig als er meerdere instanties draaien en je er één wilt aanspreken.
pgrep werkt goed samen met kill. In plaats van:
kill $(pgrep firefox)
Kun je ook pkill gebruiken, dat is de killvariant van pgrep en accepteert dezelfde opties:
pkill -x mpd
pkill -u dexter python
| Optie | Wat het doet |
|---|---|
-l | Toon PID + procesnaam |
-a | Toon PID + volledige commandoregel |
-f | Zoek in volledige commandoregel |
-x | Exacte match op procesnaam |
-c | Tel het aantal matches |
-u | Filter op gebruiker |
-n | Meest recent gestarte match |
-o | Langst draaiende match |
-v | Inverse: alles behalve de match |
pgrep is een kleine maar veelzijdige tool die ps | grep in de meeste gevallen overbodig maakt — zeker in scripts waar je een nette exitcode wilt.
Nog geen reacties
Reactie plaatsen