Como obtenho o comando “top” para finalizar sua saída?

19

A coluna "comando" fica truncada pela largura da tela e não consigo ver a última parte dela.

Eu tentei reduzir o tamanho da fonte para ver uma parte mais longa da linha de comando, mas ainda não funciona.

    
por sureshvv 26.01.2012 / 14:26

7 respostas

8

top -bcn1 -w512

A solução elegante é usar a opção -w [number] . De acordo com a página man, a largura máxima é de 512 caracteres, então você precisará de uma solução diferente para qualquer coisa que exceda isso. Provavelmente você também quer ver toda a extensão dos comandos, então use a opção -c . Precisamos executar top no "modo em lote", -b , ou ele continuará cortando os comandos com um "+". O modo em lote faz uma bagunça porque imprime todos os trabalhos a cada segundo, então podemos usar a opção -n1 para imprimir apenas uma instância.

Consulte a página principal do homem para obter mais informações.

    
por 10.07.2017 / 21:12
18

O campo de comando é, por padrão, truncado automaticamente para uma melhor leitura.

Você precisa executar

top -c

para mostrar o comando completo, dependendo dos recursos da sua janela de console, você poderá rolar para a direita e ver o comando completo.

    
por 26.01.2012 / 14:32
7

Como Daniel Arndt disse, você também pode usar o htop em vez do topo. Está disponível em todas as distros hoje em dia, e fornece números melhores (especialmente para uso de memória)

Também é muito mais fácil de usar e melhor de ver, mesmo se estiver limitado às cores do terminal. Você pode rolar para a direita, a fim de ver o comando completo, por exemplo, ou você pode matar um processo com um simples F9. Você também pode ver a árvore completa com a tecla 't'.

    
por 27.01.2012 / 09:27
3

Isso é hacky, mas você pode modificar o comportamento ajustando as variáveis de shell $ COLUMNS e $ LINES antes de lançar o topo:

export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top

Isso convencerá o shell de que você tem duas vezes mais colunas para gravar (e metade das linhas, para compensar isso). Se você estiver usando bash, você pode executar shopt -s checkwinsize antecipadamente, que irá dizer para recalcular esses valores uma vez que o topo sai. Caso contrário, você pode apenas fazer backup / restaurar esses valores (ou apenas redimensionar a janela).

    
por 26.01.2012 / 19:54
0

Você pode criar uma tela em lote que inclua top -b -n 1 e ps , por exemplo:

while (true)
do
  clear
  top -b -n 1
  ps
  sleep 5
done

Isto irá lidar com a exibição:

  • PID
  • CPU
  • Linha de comando não truncada
por 27.01.2012 / 14:19
0

Você pode querer tentar isso. Isso imprimirá a única instância de top com largura fixa e sairá para que você possa obter a saída.

top -n1 -w80

Você pode até enviar a saída para um arquivo.

top -n1 -w80 > top_output.txt
    
por 11.04.2018 / 18:52
0

Tentando aumentar a largura da saída sreen usando o comando abaixo.

export COLUMNS = 197 top -u -cbn1 > top.output

Aqui 197 é apenas uma variável. Tente aumentar de acordo com sua necessidade e saída detalhada que você precisa.

    
por 29.07.2018 / 01:36

Tags