Я хочу запустить команду "/usr/ucb/ps auxww" на Solaris, чтобы извлечь значения SZ и RSS. Для некоторых процессов эти значения не отображаются и смешиваются со значением% 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.

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

2 ответа2

1

Это особенность команды UCB ps, которая, когда 80-колоночных терминалов было достаточно, никогда не ожидала, что для столбцов размера и RSS потребуется более 5 символов.

Стандартный вывод ps (POSIX) также выглядит грубым, когда столбцы 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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .