PS-Befehlsausgabe mit fester Breite für jede Spalte

4483
goutham

Ich möchte den Befehl "/ usr / ucb / ps auxww" auf solaris ausführen, um SZ- und RSS-Werte zu extrahieren. Bei einigen Prozessen zeigen und vermischen sich diese Werte nicht mit dem% MEM-Wert (siehe unten).

USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND root 3 0.1 0.0 0 0 ? S Feb 08 3395:09 fsflush root 6589 0.1 0.15985621000 ? S Feb 08 1309:24 ./ssmagent.bin - root 7232 0.0 0.0 3912 3344 pts/7 O 12:55:34 0:00 /usr/ucb/ps -auxww 

Wenn Sie hier sehen, gibt es für PID 6589 keine separaten SZ- und RSS-Werte. Ich bin nicht sicher, ob diese in% MEM gemischt sind.

Gibt es überhaupt eine feste Breite für jede Spalte?

0

2 Antworten auf die Frage

1
njd

Dies ist eine Eigenart des UCB-Befehls ps, der, als 80-Säulen-Terminals ausreichend waren, nie erwartet hatte, dass er mehr als 5 Zeichen für die Größe und die RSS-Spalten benötigte.

Die Standardausgabe (POSIX) ps sieht auch grob aus, wenn die SZ- und RSS-Spalten große Zahlen enthalten, aber es bleibt mindestens ein Leerzeichen zwischen den Spalten.

Mit dem psBefehl POSIX können Sie die Option -o verwenden, um anzugeben, welche Spalten in der Ausgabe angezeigt werden, und Sie können auch die Spaltenüberschriften angeben.

Sie könnten also Folgendes verwenden:

ps -o user,pid,pcpu,pmem,osz,rss,stime,time,args 

um eine ähnliche Ausgabe zu erhalten, und dann:

ps -o user,pid,pcpu,pmem,osz='---Size---' -o rss='---RSS---' -o stime,time,args 

... um die Spalten SZ und RSS breiter zu machen.

Aber ich denke, der POSIX- psBefehl schneidet die args- Spalte im Gegensatz zu der wwOption von noch ab/usr/ucb/ps

0
vpit3833

Ist ps -elauf diesen Plattformen verfügbar? Es erzeugt Felder mit fester Länge unter Mac OS X und Linux (Debian-Test).

Siehe oben für meine bearbeitete Frage, diese enthält detailliertere Informationen, nach denen ich suche. goutham vor 14 Jahren 0