Команда PS ouput с фиксированной шириной для каждого столбца

Я хочу к команде выполнения "/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.

Есть ли так или иначе, я могу упомянуть зафиксированную ширину для каждого столбца?

0
задан 06.07.2010, 21:04

2 ответа

ps -el доступный на тех платформах? Это производит поля фиксированных длин на Mac OS X и на Linux (тестирование Debian).

0
ответ дан 24.11.2019, 12:28

Это - причуда команды 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

1
ответ дан 24.11.2019, 12:28

Теги

Похожие вопросы