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

12

Estou usando htoppara monitorar interativamente meus processos.

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

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

Por fim, não encontrei nenhuma documentação sobre a sintaxe real da string de pesquisa (as expressões regulares não parecem funcionar).

umläute
fonte
AFAIK não é possível. Alguma boa razão para não usar top? Você pode fazer isso facilmente com ele.
precisa saber é o seguinte
A filtragem htop do FWIW deve obter a filtragem regex em breve, há uma solicitação de extração completa, embora ainda não imersa, no GitHub. github.com/hishamhm/htop/pull/428
Richard Michael

Respostas:

5

Não sei se é possível, htopmas se usar outra topimplementação é uma opção, com a topimplementação no procpsLinux (geralmente a implementação padrão lá), de dentro top, você pode

  1. digite o(ou Opara correspondência sensível a maiúsculas e minúsculas)
  2. digite !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). Enter =para remover todos os filtros.

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

Observe que a interface padrão dessa topimplementação pode parecer mais tosca que a de htop, mas na verdade possui muito mais recursos (e você pode configurá-lo com cores e informações adicionais, se necessário).

Stéphane Chazelas
fonte
2

Não sabe de maneira direta com htop

No entanto, você poderá usar as habilidades negativas pgrepe alimentar uma lista pid parahtop

Algo como

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

Isto tem a desvantagem óbvia de não contabilização de processos que começam depois htopcomeça a correr

iruvar
fonte
1
boa ideia, mas o que realmente quero fazer é filtrar os processos de "lixo" quando os vejo; para que sua solução não seja realmente "interativa" nesse sentido ...
umläute