Wenn ich einen ps -aux
Befehl auf meinem Linux-Server ausführe , mit dem ich mich mit Putty verbunden habe, sind nur wenige Prozesse zu lang, um in meine aktuelle Fensterbreite zu passen. Gibt es eine Alternative?
- Update -
Es tut mir leid, dass ich ein Downgrade durchgeführt habe. Ich dachte, andere finden die Antwort auch nicht hilfreich, also habe ich ein Downgrade durchgeführt.
Hier sind die Informationen, nach denen Sie gefragt haben.
hadoop-user@hadoop-desk:~$ echo $TERM
xterm
hadoop-user@hadoop-desk:~$ stty -a
speed 38400 baud; rows 47; columns 158; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
hadoop-user@hadoop-desk:~$ echo $COLUMNS
158
echo $TERM
,stty -a
undecho $COLUMNS
in Ihrer Frage.stty ocrnl
und / oderstty sane
?ps axuww
Das ist die Antwort;) Zumindest für mich. Das Doppelteww
hat es geschafft.Antworten:
Es ist wahrscheinlich, dass Sie einen Pager wie
less
oder verwenden,most
da die Ausgabe vonps aux
länger als ein Bildschirm ist. In diesem Fall führen die folgenden Optionen dazu, dass lange Zeilen umbrochen werden (oder erzwungen werden), anstatt abgeschnitten zu werden.Wenn Sie einen der folgenden Befehle verwenden, werden Zeilen nicht umbrochen, aber Sie können mit den Pfeiltasten oder anderen Bewegungstasten nach links und rechts scrollen.
Zeilen werden immer für
more
und gewickeltpg
.Bei
ps aux
Verwendung in einer Pipe ist diew
Option nicht erforderlich, daps
die Bildschirmbreite nur verwendet wird, wenn die Ausgabe an das Terminal erfolgt.quelle
most
ist ein anderer Pager. Ich habe meiner Antwort einen Link hinzugefügt.w
dass Sie bei Verwendung eines Rohrs nicht benötigt werden, scheint systemabhängig zu sein. Sowohl auf openSUSE Leap 15.0 als auch auf Ubuntu 18.04ps aux | grep <something>
wirken Befehle wie auf die Ausgabe vonps
durch die Terminalbreite abgeschnitten.Mithilfe der
auxww
Flags sehen Sie den vollständigen Pfad für die Ausgabe sowohl in Ihrem Terminalfenster als auch in Shell-Skripten.ps aux
listet alle Prozesse auf, die von allen Benutzern ausgeführt werden. Sieheman ps
für Details. Dasww
Flag setzt eine unbegrenzte Breite.Ich habe die Antwort im folgenden Blog gefunden:
http://www.snowfrog.net/2010/06/10/solaris-ps-output-truncated-at-80-columns/
quelle
ps auxf > ps.log
einfach und perfekt:
schneidet die Linie nicht ab
quelle
Wirf es einfach auf die Katze, die die Zeilen automatisch umschließt
quelle
cat
Befehl ist auf jeder Nix-Box da draußen.Wenn Sie es einige
w
Sekunden lang übergeben, wird die Anzeigebreite ignoriert.quelle
Wenn Sie das Ausgabeformat manuell angeben, müssen Sie auch sicherstellen, dass die
args
Option in der Liste der Ausgabefelder an letzter Stelle steht. Andernfalls wird sie abgeschnitten.ps -A -o args,pid,lstart
gibtAber
ps -A -o pid,lstart,args
Sie erhalten die vollständige Befehlszeile:quelle
Sie können das Ausgabeformat festlegen, z. B. um nur den Befehl und die Prozess-ID anzuzeigen.
Weitere Ausgabeformate finden Sie in der Manpage von ps. Alternativ können Sie die Optionen
-w
oder verwenden--width n
.Wenn alles andere fehlschlägt, finden Sie hier eine weitere Problemumgehung (nur um Ihre langen cmds zu sehen).
quelle
Es tut mir leid, dass ich zu spät zur Party komme, aber ich habe gerade diese Lösung für das Problem gefunden.
Die Zeilen werden abgeschnitten, da ps darauf besteht, den Wert von $ COLUMNS zu verwenden, auch wenn die Ausgabe zu diesem Zeitpunkt nicht der Bildschirm ist. Welches ist ein Fehler, IMHO. Aber einfach zu umgehen, lassen Sie ps einfach denken, Sie hätten einen superweiten Bildschirm, dh setzen Sie COLUMNS für die Dauer des ps-Befehls hoch. Ein Beispiel:
Ich hoffe das ist noch nützlich für jemanden. Alle anderen Ideen schienen viel zu kompliziert :)
quelle
Wenn keine der oben genannten Lösungen funktioniert, ist die Ausgabe von
ps
nicht Ihr Problem. Möglicherweise müssen Sie Kitt setzen, um lange Linien zu wickeln ?Ansonsten benötigen wir weitere Informationen.
quelle
Wenn Sie
grep
den Befehl, den Sie suchen, mit einer Pipe von ps aux verwenden, wird der Text automatisch umgebrochen. Ich habe viele der anderen Antworten hier verwendet, aber manchmal, wenn Sie nach etwas Bestimmtem suchen, ist es schön, es einfach zu verwendengrep
und Sie wissen, dass es Zeilen umschließt.Zum Beispiel
ps aux | grep ffmpeg
.quelle
Ich habe diese Antwort gefunden, was mich überzeugt hat, da keine der oben genannten Antworten funktioniert hat
/unix/91561/ps-full-command-is-too-long
Grundsätzlich begrenzt der Kernel meine cmd-Zeile.
quelle
Von anderen erwähnte Beweise für Kürzungen (ein persönliches Beispiel)
Das ^^ erfasst diese lange Ausgabe in einer Variablen im Gegensatz zu
Da ich dies von einem Docker-Jupiter-Notebook aus versuchte, musste ich dies natürlich mit dem Knall ausführen.
Überraschenderweise können Sie mit Jupyter-Notebooks sogar das ausführen! Aber ich bin froh zu helfen, das störende Notizbuch zu finden, das mein gesamtes Gedächtnis beansprucht = D.
quelle