Использование ресурсов процессами

WBS

Новичок
Использование ресурсов процессами

Подскажите пожалуйста, как программно получить всю ту информацию, которую дает команда top. Прежде всего интересует список запущенных процессов, использование процессора и памяти каждым процессом. Спасибо.
 

hermit_refined

Отшельник
распарсивать вывод ps (c параметрами - см. man ps).
иначе - никак (т.е. можно полазить по /proc, если есть, но не нужно)
 

WBS

Новичок
Спасибо, почитаю.
Я еще начал копать в сторону POSIX-функций. Это не то?
 

hermit_refined

Отшельник
нет, как нет и вообще стандартных системных функций для получения такой информации.
 

phprus

Moderator
Команда форума
hermit_refined
Полностью согласен с С.. Чем тебе
Код:
top -n 1 -b
не угодил?
WBS
Используй top с указанными мною параметрами
 

hermit_refined

Отшельник
phprus
ну, я могу то же самое сказать - зачем парсить top, если можно парсить ps? :)

лично мне ps угождает возможностю указывать разные форматы и более простым распарсиванием, а top не угождает невозможностью посмотреть все процессы, а не только первые сколько-то там, да и не везде он стоит.
 

phprus

Moderator
Команда форума
hermit_refined
Может я неправильно читал man ps, но я так и не понял, как заставить ps выводить информацию об использовании процессора, оперативной памяти и т.д.

P.S. Про невозможность посмотреть все процессы я не подумал.
 

hermit_refined

Отшельник
как заставить ps выводить информацию об использовании процессора
все процессы - ps uax, u - это user-oriented формат.
или -o - задаются необходимые данные, список возможных - ps L
 

Max_kmv

Новичок
кхе-кхе... :) А что это за топ и пс ? это под юниксом идет разговор?
 

voodoo

Новичок
топ надо парсить потому что ps и top принципиально по разному показывают использование цпу.
ps -- усредненное за _все время_ работы программы,
top -- за последнюю секунду (точнее -- за заданный промежуток обновления информации).

2Max_kmv, а тут отдельный форум есть для win.
 

Gorynych

Посетитель PHP-Клуба
мое любимое:

ps ax -o pid,ppid,user,%cpu,%mem,start,vsz,wchan,command | egrep '(ndc|rndc|httpd|mysqld|nginx|pg|spawn|php|svn)'

перечислнеие искомого в egrep посолить, пеперчить (удалить/добавить) по вкусу :)
 

phprus

Moderator
Команда форума
hermit_refined
Все. Я понял, что я идиот. После повторного прочтения мана по ps, на меня снизошло озарение и я понял, что до своего первого ответа я прочитал не весь ман по ps.
 
Сверху