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.