como mostrar apenas processos * não * correspondendo a um filtro?

9

Estou usando htop para monitorar de forma interativa meus processos.

No entanto, às vezes, alguns processos ficam "no caminho" e eu gostaria de filtrá-los.

Infelizmente, parece que o filtro embutido do htop (por exemplo, F4 ) apenas me permite definir um filtro positivo (somente as correspondências serão mostradas), e não filtros negativos (todos, menos as correspondências são mostradas).

Finalmente, não encontrei nenhuma documentação sobre a sintaxe real da string de pesquisa ( regexes parece não funcionar).

    
por umläute 24.09.2015 / 14:03

2 respostas

3

Não sei se é possível com htop , mas se usar outra implementação de top é uma opção, com a implementação top em procps no Linux (geralmente a implementação padrão lá), de dentro de top , você pode

  1. insira o (ou O para correspondência de maiúsculas e minúsculas)
  2. insira !COMMAND=notwanted (ou !USER=unwanted )

para filtrar os processos cujo nome (ou linha de comando após pressionar c ) contém notwanted (ou cujo nome de usuário contém unwanted ). Digite = para remover todos os filtros.

Você pode filtrar em qualquer um dos campos desejados, mas apenas quando eles forem exibidos. Por exemplo, para excluir tarefas do kernel, você pode solicitar que a coluna CODE seja exibida (com f ) e, em seguida, filtrar em CODE>0 (com o ).

Note que a interface padrão da implementação top pode parecer mais crua que a de htop , mas na verdade tem muito mais recursos (e você pode configurá-la com cores e informações extras, se necessário). / p>     

por 22.03.2018 / 11:07
0

Não sabe de uma maneira direta com htop

No entanto, você pode usar as habilidades de negação de pgrep e alimentar uma lista de pid para htop

Algo como

htop -p "$(pgrep -vfd, 'java|python')"

Isso tem a desvantagem óbvia de não contabilizar os processos que iniciam após htop começar a ser executado

    
por 24.09.2015 / 15:24

Tags