Come posso ottenere il comando "top" per racchiudere il suo output?


20

La colonna "comando" viene troncata dalla larghezza dello schermo e non riesco a vederne l'ultima parte.

Ho provato a ridurre la dimensione del carattere in modo da poter vedere una parte più lunga della riga di comando, ma ancora non lo farà.


Quale comando genera il tuo output?

So che questo non risponde direttamente alla tua domanda, ma vorrei cercare htopun'interfaccia molto più bella top. Ti permetterà di scorrere con i tasti freccia.

Puoi chiarire perché la riduzione della dimensione del carattere non ha funzionato?
Stephen Quan,

funziona ma non abbastanza per me vedere l'intera riga .. la riga di comando è piuttosto lunga
sureshvv

Risposte:


10

top -bcn1 -w512

L'elegante soluzione è utilizzare l'opzione . Secondo la pagina man, la larghezza massima è di 512 caratteri, quindi avrai bisogno di una soluzione diversa per qualsiasi cosa che superi quella. Presumibilmente vuoi anche vedere l'intera lunghezza dei comandi, quindi usa l' opzione. Dobbiamo eseguire in "modalità batch", altrimenti continuerà a tagliare i comandi con un "+". La modalità batch crea un casino perché stampa tutti i lavori ogni secondo, quindi possiamo usare l' opzione per stampare solo un'istanza.-w [number]-ctop-b-n1

Vedi la pagina principale di man per maggiori informazioni.


1
Devi controllare la pagina man sul tuo sistema; queste opzioni non esistono in tutte le versioni di top.
Scott,

nel mio Ubuntu 18.04 man topdice -c :Command-line/Program-name toggle ... Starts top with the last remembered 'c' state reversed. il che significa -cche visualizzerebbe solo i comandi completi ogni seconda esecuzione.
Gilad Mayani

21

Il campo di comando è automaticamente troncato automaticamente per una migliore lettura.

Devi correre

top -c

per mostrare il comando completo, a seconda delle funzionalità della finestra della console, sarà possibile scorrere verso destra e visualizzare il comando completo.


Questo mostra solo l'intera riga di comando per impostazione predefinita - o in realtà qualsiasi cosa possa essere resa visibile in una riga. Non vedo alcuna capacità di scorrimento. Stai dicendo che devo solo impostare la mia finestra su una larghezza maggiore?

Sì, per cominciare. Che tipo di finestra stai usando? è un Putty, Terminale di comando Dos, Terminale Gnome? uno di questi ti permetterà di scorrere in orizzontale.
portatore dell'anello

non vedendo scorrere orizzontalmente in PuTTY
bbodenmiller il

8

Come ha detto Daniel Arndt, puoi anche usare htop anziché top. Oggi è disponibile su tutte le distribuzioni e fornisce numeri migliori (specialmente per l'utilizzo della memoria)

È anche molto più facile da usare e più bello da vedere, anche se è limitato ai colori del terminale. È possibile scorrere verso destra per visualizzare il comando completo, ad esempio, oppure è possibile terminare un processo con un semplice F9. Puoi anche vedere l'albero completo con il tasto 't'.


Questo non risponde alla domanda ma è un suggerimento per un programma diverso. htopè davvero un bel programma ma la domanda era sull'output di top. Per favore, rimani sull'argomento.
drumfire

2
@drumfire offre alternative perfettamente valide e in tema. Ciò dovrebbe essere ovvio dal fatto che il PO ha accettato questa risposta quasi tre anni fa.
Terdon

3

Questo è hacky, ma è possibile modificare il comportamento modificando le variabili della shell $ COLUMNS e $ LINES prima di avviare top:

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

Questo convincerà la shell che hai il doppio delle colonne su cui scrivere (e la metà del numero di righe, per compensare questo). Se stai usando bash, puoi eseguire in shopt -s checkwinsizeanticipo, il che gli dirà di ricalcolare quei valori una volta che top esce. Altrimenti, puoi semplicemente eseguire il backup / ripristinare quei valori (o semplicemente ridimensionare la finestra).


0

È possibile progettare una schermata batch che includa top -b -n 1 e ps , ad esempio:

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

Questo gestirà la visualizzazione:

  • PID
  • processore
  • Riga di comando non troncata

0

Potresti provare questo. Questo stamperà l'unica istanza di topcon larghezza fissa ed esce in modo da poter ottenere l'output.

top -n1 -w80

È anche possibile reindirizzare l'output in un file.

top -n1 -w80 > top_output.txt

0

Prova ad aumentare la larghezza dell'output dello schermo usando il comando seguente.

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

Qui 197 è solo una variabile. Prova ad aumentare in base alle tue esigenze e all'output dettagliato richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.