Wie man top und pstree dazu bringt, lange Zeilen auszugeben

Wer schonmal ein Script geschrieben hat und die Ausgaben einiger Befehle in ein Logfile umgeleitet hat, der kennt das Problem: es werden je nach OS-Einstellungen Spalten abgeschnitten.

In Top sieht das dann so aus:

top - 10:14:45 up 29 min,  1 user,  load average: 0,33, 0,27, 0,25
Tasks: 275 total,   1 running, 274 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3,4 us,  0,8 sy,  0,0 ni, 95,3 id,  0,2 wa,  0,1 hi,  0,1 si,  0,0 st
KiB Mem :  8070108 total,  3490724 free,  2117316 used,  2462068 buff/cache
KiB Swap:  7998316 total,  7998316 free,        0 used.  5548784 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 3093 Schelm    20   0 1781624 630728 127256 S  31,2  7,8   4:34.94 /usr/lib64+
 3995 Schelm    20   0  157976   4252   3628 R  12,5  0,1   0:00.02 top -c -b +
 2718 Schelm    20   0  602980 169084  73132 S   6,2  2,1   0:45.25 skype
 3433 Schelm    20   0  733632  37944  27296 S   6,2  0,5   0:03.28 /usr/libex+

Für TOP und PSTREE gibt es aber eine jeweils einfache Lösung:

top -b -c -n 1 -w 240

Damit gibt man im Batchmode (-b) wieviele Spalten man sehen will ( -w ), in unserem Fall 240. pstree hat zwar keine Spaltenangabe, aber man kann das Abbrechen abschalten (-l):

pstree –lup

Damit wir möglichst lange Zeilen bekommen, ist hier noch -u für Usernamen und -p für ProcessIds mit angegeben.