Как сделать так, чтобы «grep» не отображался в результатах ps?

Как сделать так, чтобы «grep» не отображался в результатах ps?

Когда я ищу какой-то несуществующий процесс, например

$ ps aux | grep fnord                          
wayne    15745  0.0  0.0  13580   928 pts/6    S+   03:58   0:00 grep fnord

Разумеется, мне нет дела до grep — это не имеет такого же смысла, как и поиск процесса ps!

Как сделать так, чтобы grep не отображался в результатах?

решение1

Оказывается, решение найдено вБрелок.

$ ps aux | grep "[f]nord"

Заключив букву в скобки, а строку — в кавычки, вы найдете регулярное выражение, которое гласит: «Найдите символ 'f', за которым следует 'nord'».

Но поскольку вы поместили скобки в шаблон, за «f» теперь следует «]», поэтому он grepне будет отображаться в списке результатов. Здорово!

решение2

Другой вариант, который я использую (особенно, чтобы просто посмотреть, запущен ли процесс), — это команда pgrep . Она будет искать соответствующий процесс, но не выводить строку grep для поиска. Мне нравится, потому что это быстрый способ поиска, без регулярных выражений или экранирования чего-либо.

pgrep fnord

Более того, чтобы вывести как идентификатор процесса, так и имя сопоставляемого процесса, используйте (спасибофеммер)

pgrep -l fnord

решение3

Идеальное решение — это то, что предложил BriGuy

pgrep fnord 

Но если вы не хотите этого делать, вы можете просто исключить все строки, которые соответствуютгрэпс:

ps aux | grep -v grep | grep "fnord"

решение4

В ЗШ, grep fnord =(ps aux).

Идея в том, чтобы сначала запустить ps aux, поместить результат в файл, а затем использовать grepего. Только у нас нет файла, так как мы используем "подстановку процесса" zsh.

Чтобы проиллюстрировать, попробуйте

ps aux > ps.txt
grep fnord ps.txt
rm ps.txt

Результат должен быть тем же.

Общее замечаниена некоторые другие ответы. Некоторые слишком сложны и/или их долго печатать. Это не только вопрос правильности, это должно быть также удобно для использования. Но это не значит, что некоторые из этих решений плохи; просто их нужно обернуть в мини-пользовательский интерфейс, чтобы сделать их удобными для использования.

Связанный контент