Debian - top (1) no modo batch, mas ordenado por PID

1

Eu quero executar top é lote / modo não interativo com -b . No entanto, quero a saída classificada por PID. Qual opção de linha de comando faz isso? Estou usando o Debian Lenny e a opção -o pid aqui ( link ) não funciona.

    
por Rory 20.01.2011 / 15:02

2 respostas

4

Para mim, em um sistema Ubuntu, sem ~/.toprc ou /etc/toprc executando top 3.2.8, a classificação principal é %CPU e a classificação secundária é PID .

Para configurar top para classificar por PID para o modo em lote:

Se você não tem um ~/.toprc para começar:

  • Iniciar top no modo interativo.
  • Pressione W . Isso gravará um novo ~/.toprc com as configurações atuais.
  • Saia de top (pressione q ).

Para criar os arquivos de configuração necessários:

  • Faça uma cópia de backup do seu arquivo ~/.toprc . Você precisará disso para uma etapa posterior. Vamos chamar esse arquivo ~/.toprc.ORIG (você pode escolher outro nome se preferir).
  • Iniciar top no modo interativo.
  • Pressione F , depois a e, em seguida, Enter. Isso selecionará PID como o campo de classificação.
  • Pressione R . Isso vai reverter o tipo, então é crescente.
  • Pressione W . Isso gravará um novo ~/.toprc com as configurações atuais.
  • Saia de top (pressione q ).
  • mv ~/.toprc ~/toprc.PIDSORT (ou escolha um nome de sua preferência)
  • Copie o backup de volta para o original ( cp ~/.toprc.ORIG ~/.toprc ).

Para usar o arquivo criado para gerar top -b -n1 classificado por PID , crie um script como este:

#!/bin/bash
cp "$HOME/.toprc.PIDSORT" "$HOME/.toprc"
top -b -n1 > /path/to/outputfile
cp "$HOME/.toprc.ORIG" "$HOME/.toprc"
    
por 20.01.2011 / 16:44
0

Você pode tentar executar a saída por meio de ordenação, por exemplo,

top -b -n1 | sort -b -n

Isso classifica a saída padrão numericamente e, portanto, por PID. Ele faz mangle a ordem das linhas de cabeçalho.

    
por 20.01.2011 / 15:47