Como obtenho o comando "top" para agrupar sua saída?

20

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 poder ver uma parte mais longa da linha de comando, mas ela ainda não funciona.

sureshvv
fonte
Qual comando gera sua saída?
Eu sei que isso não responde diretamente à sua pergunta, mas eu procuraria htopuma interface muito melhor top. Isso permitirá que você role com as setas do teclado.
Você pode esclarecer por que a redução do tamanho da fonte não funcionou?
Stephen Quan
ele funciona, mas não o suficiente para me ver toda a linha .. a linha de comando é bastante longo
sureshvv

Respostas:

10

top -bcn1 -w512

A solução elegante é usar a opção . De acordo com a página do manual, a largura máxima é de 512 caracteres, portanto, você precisará de uma solução diferente para qualquer coisa que exceda isso. Presumivelmente, você também deseja ver o comprimento total dos comandos, portanto, use a opção Precisamos executar no "modo de lote", ou ele continuará cortando os comandos com um "+". O modo de lote meio que causa confusão, porque imprime todos os trabalhos a cada segundo, para que possamos usar a opção para imprimir apenas uma instância.-w [number]-ctop-b-n1

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

boof
fonte
11
Você precisa verificar a página do manual no seu sistema; essas opções não existem em todas as versões do top.
2626 Scott Scott
21

Por padrão, o campo de comando é truncado automaticamente para melhor leitura.

Você precisa correr

top -c

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

portador de anel
fonte
Isso apenas exibe a linha de comando completa por padrão - ou, na verdade, o que pode ser tornado visível em uma linha. Não vejo nenhuma capacidade de rolagem. Você está dizendo que eu só preciso definir minha janela para uma largura maior?
Sim, para começar. Que tipo de janela você está usando? é um terminal de comando Putty, Dos, terminal Gnome? qualquer uma dessas opções permitirá que você role horizontalmente.
portador do anel
não vendo rolagem horizontal no PuTTY
bbodenmiller
8

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

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

Coren
fonte
Isso não responde à pergunta, mas é uma sugestão para um programa diferente. htopé realmente um bom programa, mas a pergunta era sobre a saída do top. Por favor, permaneça no tópico.
drumfire
2
A @drumfire oferece alternativas é perfeitamente válida e por assunto. Isso deve ser óbvio pelo fato de o OP ter aceito essa resposta há quase três anos.
terdon
3

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

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

Isso convencerá o shell que você tem duas vezes mais colunas para gravar (e metade do número de linhas, para compensar isso). Se você estiver usando o bash, poderá executar shopt -s checkwinsizeantecipadamente, o que instruirá a recalcular esses valores quando a saída principal. Caso contrário, você pode simplesmente fazer backup / restaurar esses valores (ou apenas redimensionar a janela).

Christopher Neylan
fonte
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

Isso manipulará a exibição de:

  • PID
  • CPU
  • Linha de comando não truncada
Stephen Quan
fonte
0

Você pode tentar fazer isso. Isso imprimirá a única instância topcom largura e saída fixas para que você possa obter a saída.

top -n1 -w80

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

top -n1 -w80 > top_output.txt
kabirbaidhya
fonte
0

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

exportar COLUNAS = 197 top -u -cbn1> top.output

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

Amit Gupta
fonte