De acordo com a página do manual , a -popção de linha de comando pode ser usada para restringir quais processos são toplidos. Parece não permitir a filtragem exatamente como no modo interativo, mas você pode obter essencialmente o mesmo resultado examinando a saída de ps.
Exemplo, pegando apenas processos com mais de três threads:
No meu computador, isso imprime uma lista de todos os processos relevantes, um em cada linha. psgera a lista de detalhes do processo, o awkcomando os filtra e sortapenas remove as duplicatas.
Para seu uso, verifique quais colunas psvocê vai precisar. No meu computador, o número de threads ("NLWP") é a sexta coluna ( $6) e o ID do processo ("PID") é a segunda coluna ( $2). Ajuste-os no awkcomando conforme necessário para corresponder ao filtro necessário. Repare que $6aparece duas vezes: primeiro para ter certeza que é um número e não o cabeçalho, e a segunda vez para ter certeza que é mais que 3.
Depois de executar este comando, os IDs do processo devem ser fornecidos a top. Bash e provavelmente outros shells permitem passar a saída de um programa como argumentos para outro programa, então o comando final pode ser
$ top $(ps -eLf | awk '$6 ~ /^[0-9]+$/ { if ($6 > 3) { print "-p"$2; } }' | sort -u) ... And other options
"-p"foi adicionado para fazer a saída funcionar com top. Ajuste este comando para ajustar seu filtro e shell conforme necessário, coloque-o em seu lote e ele deve funcionar.
Nota: Adicionar mais filtros provavelmente exigirá o aprendizado do awk. Não é muito difícil.
De acordo com a página do manual , a
-p
opção de linha de comando pode ser usada para restringir quais processos sãotop
lidos. Parece não permitir a filtragem exatamente como no modo interativo, mas você pode obter essencialmente o mesmo resultado examinando a saída deps
.Exemplo, pegando apenas processos com mais de três threads:
No meu computador, isso imprime uma lista de todos os processos relevantes, um em cada linha.
ps
gera a lista de detalhes do processo, oawk
comando os filtra esort
apenas remove as duplicatas.Para seu uso, verifique quais colunas
ps
você vai precisar. No meu computador, o número de threads ("NLWP") é a sexta coluna ($6
) e o ID do processo ("PID") é a segunda coluna ($2
). Ajuste-os noawk
comando conforme necessário para corresponder ao filtro necessário. Repare que$6
aparece duas vezes: primeiro para ter certeza que é um número e não o cabeçalho, e a segunda vez para ter certeza que é mais que 3.Depois de executar este comando, os IDs do processo devem ser fornecidos a
top
. Bash e provavelmente outros shells permitem passar a saída de um programa como argumentos para outro programa, então o comando final pode ser"-p"
foi adicionado para fazer a saída funcionar comtop
. Ajuste este comando para ajustar seu filtro e shell conforme necessário, coloque-o em seu lote e ele deve funcionar.Nota: Adicionar mais filtros provavelmente exigirá o aprendizado do awk. Não é muito difícil.