Можно ли комбинировать фильтры ps с логикой И вместо ИЛИ

Можно ли использовать команду ps отдельно для фильтрации до подмножества результатов, а не для создания надмножества?

Например, ps -C дает мне все процессы , а ps -u дает мне все процессы, принадлежащие <пользователь> . Но ps -C -u дает мне все процессы с именем или все процессы, принадлежащие , когда мне действительно нужны все процессы с именем и все процессы, принадлежащие .

Очевидно, я могу фильтровать с помощью grep, но я было интересно, можно ли достичь того, что мне нужно, с помощью ps самостоятельно.

Я использую -C и -u в качестве примера, но на самом деле Я бы хотел более общий способ комбинирования любого из фильтров ps с помощью 'и', а не 'или'.

1
задан 8 December 2020 в 14:12

1 ответ

Нет; это задокументировано на справочной странице:

За исключением случаев, описанных ниже, параметры выбора процесса являются аддитивными. Выбор по умолчанию отбрасывается, а затем выбранные процессы добавляются в набор отображаемых процессов. Процесс будет таким образом, будет показано, если он соответствует любому из заданных критериев отбора.

Исключение:

--deselect
      Select all processes except those that fulfill the specified
      conditions (negates the selection).  Identical to -N
...
-N    Select all processes except those that fulfill the specified
      conditions (negates the selection).  Identical to --deselect.

(Конечно, НЕ (A ИЛИ B) = (NOT A) AND (NOT B), так что вы можете что-нибудь придумать, если вас больше интересуют отрицательные совпадения, но иначе это было бы слишком громоздко.)

2
ответ дан 8 December 2020 в 11:32

Другие вопросы по тегам:

Похожие вопросы: