Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Процессы Linux, BSD


Автор: VackuM 6.10.2008, 11:01
Здравствуйте.
Я всегда полагал что /proc существует для большей наглядности Происходящего в системе, и ее разумно применять только в  скриптовых языках (perl,sh).  
После беглого осмотра исходников  top (procps пакета) под  linux, пришел к выводу, что и там все делается через /proc, - что не радовало.

Сейчас пишу программку для мониторинга системы (например подсчет процессов httpd в текущий момент) которая должна работать как на  linux так и FreeBSD, так что использование /proc не  устраивывает - хочется кросс платформенности (как функция  getloadavg которая работает как на  linux так и FreeBSD) .

Кто сталкивался с подобными системными вызовами, дайте  линк или подскажите в какой литературе это можно найти.

PS: Хотя есть подозрения что в  procps пакете специально используется /proc, так как я не нашел ни одного вхождения функции  getloadavg вместо этого используется /proc/loadavg.

Автор: MAKCim 6.10.2008, 12:21
Цитата(VackuM @  6.10.2008,  11:01 Найти цитируемый пост)
Кто сталкивался с подобными системными вызовами, дайте  линк или подскажите в какой литературе это можно найти.

открой
/usr/include/asm/unistd.h
и посмотри список системных вызовов
все, что найдешь, все твое  smile (хотя насколько мне известно, /proc в Linux как раз призвана заменить целый ряд системных вызовов)
да, опять таки, насколько я знаю, в BSD /proc есть

Автор: VackuM 6.10.2008, 13:10
Спасибо MAKCim за ответ. Буду копать /usr/include/asm/unistd.h и надо посмотреть top фряхи (как он там устроен). 

Цитата

 /proc в Linux как раз призвана заменить целый ряд системных вызовов

Не мне судить, но ненравится мне эта идея...

Цитата

насколько я знаю, в BSD /proc есть

Бегло выполнив ls /proc ничего в нем необнаружил (каталог пуст), возможно и можно как-то прикрутить /proc к фряхе (наверняка можно, включив совместимость  linux_enable="YES") но хотя бы тот факт, что этого нет по умолчанию, заставляет меня отказатся от /proc

Автор: MAKCim 6.10.2008, 13:12
Цитата(VackuM @  6.10.2008,  13:10 Найти цитируемый пост)
но хотя бы тот факт, что этого нет по умолчанию, заставляет меня отказатся от /proc 

тогда
#ifdef ... #endif  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)