/ / Linux: Como não limitar a saída do topo com base na largura da tela [fechada] - linux

Linux: Como não limitar a saída da parte superior com base na largura da tela [fechada] - linux

EDIT: Fui castigado por estar fora do assunto. Editei o método de arquivo que usei como exemplo e inseri o método C ++ da realidade.

Estou usando o C ++ popen para emitir um topo comando para obter informações do sistema em meu programa e, em seguida, em um arquivo xml que posso enviar fora do sistema. Eu analiso a saída do top em várias variáveis ​​(dolorosas partes do código) que são inseridas no xml.

topo muito útil trunca sua largura de saída para caber na tela, mesmo no modo de lote, onde a saída é redirecionada para um tubo.

popen( "top -b -n 1", "r" );

Funciona da mesma forma se a saída for enviada para um arquivo.

Existe uma maneira de dizer ao topo para mostrar todos os seus campos (no modo de lote), mesmo que eles caiam do lado direito da tela?

NOTA: No meu caso particular, eu executei meu analisador superior de c ++ na minha estação de trabalho e obtive, digamos, 15 colunas por PID. Então mudei para menos caracteres na linha (texto maior). Perdi completamente o 15º campo. Então tentei uma fonte intermediária e recuperei quase uma coluna do 15º campo. Esse campo termina em% st e eu conto com isso dizendo isso, não% s. A correção disso precisa ser genérica, não baseada em casos individuais.

Obrigado pela ajuda. Eu verifiquei o Google e ele sabe muito sobre o topo, mas apenas como perguntar .....

NB: Se você quiser ver esse fenômeno, execute o topo da janela de comando habitual, capturando a saída em um arquivo ou canal, altere a fonte na janela para ter mais caracteres em cada linha da janela do terminal e execute o comando novamente.

Respostas:

2 para resposta № 1

Tente definir COLUMNS variável de ambiente:

$ COLUMNS=10000 top