Команда ps aux | grep x
дает «лучшие» результаты, чем pgrep x
, по существу, потому что у вас отсутствует опция с последним.
Просто используйте параметр -f
для pgrep
для поиска в полной командной строке, а не только для имени процесса, которое является его поведением по умолчанию, например:
pgrep -f php5
В отличие от конструкции ps | grep
, с которой вам нужно отфильтровать строку grep
или использовать трюки шаблонов, pgrep
просто не будет выбирать себя по дизайну.
Кроме того, если ваш шаблон появится в столбце ps
USER
, вы получите нежелательные процессы в выходе, pgrep
не пострадает от этого недостатка.
Если вам нужна полная информация, а не только pids, вы можете использовать:
ps wup $(pgrep -f python)
, который проще и надежнее, чем
ps aux | grep python | grep -v grep
или р>
ps aux | grep p[y]thon