Visualizza i comandi completi nell'output ps


17

Quando si esegue pscon l' -fopzione in PuTTY (per vedere il comando corrispondente a ciascun processo), le linee che sono più lunghe della larghezza del terminale non sono completamente visibili (non sono avvolte su più linee).

Come posso forzare il ritorno a capo in modo da poter vedere i comandi completi (su più righe, se necessario) durante l'esecuzione ps -f?


Non è una risposta, ma se eseguo ps -f nell'emulatore di terminale ridotto, l'output viene spostato su più righe. Che terminale stai usando?
Matthew Rock

1
Questo potrebbe essere un duplicato di: stackoverflow.com/questions/2159860/...
Tommygun

@MatthewRock Uso PuTTy qui, pensi che sia specifico?
sdabet,

1
@Tonsenson non può chiudere come duplicato su più siti.
Muru,

1
@fiddler ah, non possiamo migrare vecchie domande senza l'intervento del moderatore, e anche allora non è raccomandato: meta.stackexchange.com/questions/8004/…
muru

Risposte:


16

Se si dispone di psun'implementazione conforme a POSIX , è possibile provare

ps -f | more

Tieni presente che recentemente abbiamo modificato il comportamento e se hai un'implementazione che segue il problema POSIX 7 tc2, puoi provare:

ps -wwf | more

¹ Siamo le persone che hanno teleconferenze settimanali per discutere dell'evoluzione dello standard POSIX.


1
ps -wwffunziona benissimo.
sdabet,

8

Probabilmente ho trovato la risposta alla tua domanda su Stack Overflow . Nelle parole di Dennis Williamson :

È probabile che tu stia utilizzando un cercapersone come less o most poiché l'output di ps aux è più lungo di uno schermo. In tal caso, le seguenti opzioni causeranno (o imposteranno) le linee lunghe da avvolgere anziché troncarle.

ps aux | less -+S

ps aux | most -w Se si utilizza uno dei seguenti comandi, le linee non verranno spostate, ma è possibile utilizzare i tasti freccia o altri tasti di spostamento per scorrere verso sinistra e verso destra.

ps aux | less -S # usa i tasti freccia o Esc+ (e Esc+ )o Alt+ (e Alt+)

ps aux | most # usa i tasti freccia, oppure <e >(la scheda può anche essere usata per scorrere verso destra) Le linee sono sempre racchiuse tra più e pag.

Quando ps auxviene usato in una pipe, l'opzione w non è necessaria poiché ps usa la larghezza dello schermo solo quando l'output è verso il terminale.

(Nota: questo vale per Linux non incorporato, l' psutilità su altre varianti Unix potrebbe funzionare in modo diverso.)


@muru spero che ora stia andando meglio. Grazie per aver chiarito tutto!
Tommygun,

E scusami per aver causato il caos.
Matthew Rock

1
La tua risposta è valida solo per /usr/ucb/pse anche con questo programma si avrebbe bisogno ww, come /usr/ucb/psi limiti della larghezza di uscita al 80 se l'uscita è una pipa. Per lo ps POSIX standard, vedi la mia risposta.
schily

1
@schily Questa risposta è perfettamente corretta per il solito pscomando su Linux non incorporato, che è quello che ha la maggioranza dei lettori qui.
Gilles 'SO- smetti di essere malvagio' il

1
Ma l'OP non ha impostato / linux come tag.
schily

3

C'è anche un'altra soluzione semplice:

echo "$(ps afx)"

o semplicementeps afx
nyxee il

1
solo "ps fax" verrà interrotto dopo un certo numero di caratteri (immagino 72 lunghezza terminale standard) la sintassi dell'eco "$ (il tuo comando)" è per non interromperla
cinatic

Grazie per quello Ora, il comando si comporta in modo completamente diverso su MacOS (ho sentito che si basa su BSD) e Ubuntu ( Linux). Linux non mostra alcuna differenza in quando tu echoo no. Ma MAC OS X sta stampando quanto può mostrare il terminale. Sto usando iTerm2e zsh. MAC non consente l' --fopzione.
Nyxee,


0

Il comando per MacOS è leggermente diverso echo "$(ps aux)"


Non vuoi passarlo echoinutilmente. Nota anche che molte altre risposte già menzionano ps auxin qualche modo. Suggerirei commenti o modifiche su quelle risposte esistenti per sottolineare che sono utili per MacOS (che è quello che presumo tu intendessi).
Jeff Schaller

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.