Я хочу к команде выполнения "/usr/ucb/ps auxww" на solaris извлечь значения RSS и SZ. Для некоторых процессов эти значения не показывают и смешиваются со значением %MEM как показано ниже.
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
Если Вы видите здесь, для PID 6589 существуют не отдельные значения SZ и RSS, я не уверен, что они смешаны в %MEM.
Есть ли так или иначе, я могу упомянуть зафиксированную ширину для каждого столбца?
Это - причуда команды PS UCB, для которой, назад когда терминалы на 80 столбцов были достаточны, как никогда ожидали, не будут нужны больше чем 5 символов для столбцов RSS и размера.
Стандарт (POSIX), PS произвел также взгляды грубо, когда столбцы SZ и RSS содержат большие количества, но затем это, по крайней мере, сохраняет пространство между столбцами.
С POSIX ps
команда, можно использовать-o опцию указать, какие столбцы появляются в выводе, и можно также указать заголовки столбцов.
Таким образом, Вы могли использовать:
ps -o user,pid,pcpu,pmem,osz,rss,stime,time,args
получить подобный вывод и затем использовать:
ps -o user,pid,pcpu,pmem,osz='---Size---' -o rss='---RSS---' -o stime,time,args
... сделать столбцы SZ и RSS шире.
Но я думаю POSIX ps
команда все еще усекает args столбец, в отличие от этого, ww
опция /usr/ucb/ps