Lista de processos em execução

2

Existe um comando top para mostrar os processos em execução. Gostaria de imprimir lista classificada de valores exclusivos no campo COMMAND . Existe a minha solução para esta tarefa

$ top -b -n 1 | tail -n+8 | awk '{print $12}' | cut -d'/' -f 1 |  sort | uniq

No entanto, este comando é muito prolixo para um propósito tão simples. Existe uma solução mais simples para a tarefa?

PS: posso usar ps em vez de top , mas ele retorna um formato muito barulhento: chrome vs /opt/google/chrome/chrome --type=renderer --enable- features=LinuxObsoleteSystemIsEndOfTheLine<LinuxObsoleteSystemIsEndOfTheLine --lang=en-US --force- ... isso é apenas começando do comando.

    
por Loom 15.03.2016 / 11:42

1 resposta

5

Eu recomendo strongmente derramar através da documentação para ps .

Este pode ser um começo interessante:

ps -eo comm=,

ou

ps -eo cmd=,

Você provavelmente quer o primeiro.

Se você quiser um controle absolutamente refinado, leia a linha Name : de /proc/nnnnnn/status (ou analise a sequência entre os parênteses em stat ), em que nnnnn representa todos os números. Para a linha de comando completa, leia /proc/nnnnnn/cmdline e converta os bytes NUL no arquivo para caracteres de espaço.

Note que ps no BSD (fornecido como parte desse ecossistema) é um pouco diferente da versão do Linux (fornecida ao Linux pelo projeto procps-ng) e os dois interpretam suas opções de forma um pouco diferente. Vale a pena notar se você está sempre em * BSD.

    
por 15.03.2016 / 11:53

Tags