sysinfo в linux (ubuntu)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
vay
новенький
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46

sysinfo в linux (ubuntu)

Сообщение vay »

День добрый.

Подскажите пожалуйста способ как из free pascal под linux получить следующую информацию
1. Имя машины на которой запущено приложение
2. Обьем доступной оперативной памяти и обьем занятой
3. тут сложно :) необходимо получить обьем доступного места в конкретно взятом каталоге системы (понятно что там могут быть и линки куда то, и монтированный диск и что угодно)

Заранее спасибо
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

Вот тема которая поможет
viewtopic.php?t=6950&view=unread#unread


Достаточно запускать консольные утилиты из программы и затягивать вывод в программу
vay
новенький
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46

Сообщение vay »

Не хотелось бы такого подхода... в крайнем случае можно через чтение /etc/* файлов решить...
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

тогда директория /proc , там вся инфа
vay
новенький
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46

Сообщение vay »

да. спасибо. спутал etc и proc
а не подскажете - где можно описание файлов в proc директории поискать? где там про память, где про свободное место?
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

man в основном

также в описании некоторых утилит в man пишется с какими информационными файлами /proc они работают

Ну и гугл еще никто не отменял
Kitayets
постоялец
Сообщения: 174
Зарегистрирован: 05.05.2010 21:15:24

Сообщение Kitayets »

если из под линукс - то нужно использовать POSIX API.
нужные функции можно вызывать из libc.so.
Так же есть модули с уже определёнными некоторыми функциями из POSIX и LInux API - это unix, baseunix и linux.

по теме :
  • man 2 gethostname - int gethostname(char *name, size_t len); объявить как extern и слинковать приложение с libc.
  • man 2 sysinfo - есть в модуле Linux http://www.freepascal.org/docs-html/rtl ... sinfo.html
  • по размерам директорий - тут сложнее, надо обходить дерево подкаталогов и делать stat на каждый файл (?), все функции для этого процесса есть в baseunix http://www.freepascal.org/docs-html/rtl ... dex-5.html
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

vay писал(а):получить обьем доступного места

Unix.fpStatFS ?
Ответить