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

4434
goutham

Я хочу запустить команду "/ 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.

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

0

2 ответа на вопрос

1
njd

Это особенность команды 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 шире.

Но я думаю, что psкоманда POSIX все еще усекает столбец args, в отличие от wwопции/usr/ucb/ps

0
vpit3833

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

Пожалуйста, см. Выше для моего отредактированного вопроса, это имеет более подробную информацию, которую я ищу. goutham 14 лет назад 0