El ps aux | grep x
donne de "meilleurs" résultats que la commande pgrep x
essentiellement parce qu'il vous manque une option avec cette dernière.
Il suffit d'utiliser le -f
option pour pgrep
pour rechercher la ligne de commande complète et pas seulement le nom du processus, ce qui est son comportement par défaut, par exemple :
pgrep -f php5
Contrairement à la ps | grep
avec laquelle vous devez filtrer les grep
ligne ou utiliser des astuces de patronage, pgrep
ne se ramasse pas d'elle-même.
De plus, si votre modèle apparaît dans ps
USER
vous obtiendrez des processus non désirés dans la sortie, pgrep
ne souffre pas de ce défaut.
Si vous voulez des détails complets au lieu de seulement les pids, vous pouvez utiliser :
ps wup $(pgrep -f python)
qui est plus simple et plus fiable que
ps aux | grep python | grep -v grep
ou
ps aux | grep p[y]thon