Ответ
/proc — это псевдо-файловая система (procfs), которая предоставляет интерфейс ядра для доступа к данным о процессах и состоянии системы в виде иерархии файлов и каталогов. Файлы в /proc не существуют на диске — они создаются ядром «на лету» при обращении к ним.
Ключевые каталоги и файлы:
/proc/[PID]/— Каталог для каждого запущенного процесса. Содержит:cmdline— аргументы командной строки.status— основная информация о процессе.fd/— символические ссылки на открытые файлы процесса.maps— отображения памяти процесса.
/proc/cpuinfo— Детальная информация о процессоре(ах)./proc/meminfo— Статистика использования оперативной и swap-памяти./proc/modules— Список загруженных модулей ядра./proc/sys/— Каталог для динамической настройки параметров ядра (черезsysctl).
Пример чтения /proc/meminfo на C++:
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream meminfo("/proc/meminfo");
std::string line;
if (meminfo.is_open()) {
while (std::getline(meminfo, line)) {
// Выводим, например, информацию о свободной памяти
if (line.find("MemFree") == 0) {
std::cout << "Free memory: " << line << std::endl;
}
}
meminfo.close();
} else {
std::cerr << "Failed to open /proc/meminfo" << std::endl;
}
return 0;
}
Важно: Большинство файлов в /proc доступны только для чтения. Изменения через /proc/sys/ действуют до перезагрузки. Это мощный инструмент для отладки и мониторинга как пользовательских процессов, так и самой системы.