Unix підтримує файлова система /proc. За допомогою цієї файлової системи можна отримати безліч цінних відомостей про стан різних пристроїв і системних об'єктів (модулів ядра, наприклад) а також про процеси, що виконуються (власне, звідси і відбувається її назва).
Файлова система /proc являється механізмом для ядра і його модулей, які дозволяють надіслати інформацію процесам ( звідси і назва /proc ). За допомогою цієї віртуальної файлової системи Ви можете працювати з внутрішніми структурами ядра, отримувати корисну інформацію про процеси і змінювати установки ( міняючи параметри ядра ) на льоту. Файлова система /proc розташовується в пам'яті на відміну від інших файлових систем, які розташовуються на диску.
Данні про кожен процес зберігаються в спеціальній піддиректорії директорії /proc, з ім’ям, яке відповідає численому значенню ідентифікатора процесу. В директорії процесу знаходяться декілька файлів і піддиректорій, з яких можна черпнути данні про нього:
Таблиця 8 – Файли файлової системи /proc
Элемент
| Тип
| Зміст
|
сmdline
| файл
| Командний рядок, який використовувався при запуску процесу.
|
сwd
| символічна ссилка
| Вказує на директорію процесу
|
environ
| файл
| Список змінних оточення для данного процесу
|
exe
| символічна ссилка
| Вказує на файл, який зберігає образ процесу
|
fd
| директорія
| Ссилки на файли,які використовуються процесом
|
root
| гнучка ссилка
| Вказує на корінь файлової системи процессу
|
stat(status)
| файл
| Різні відомості про процес. змінні оточення цього процесу, а також ідентифікатор користувача ( UID ) і групи ( GID ) того, що запустив процес, ідентифікатор батьківського процесу ( PPID ) і поточний стан процесу (State)( наприклад "Sleeping" або "Running" ).
|
В директорії /proc є декілько файлів¸ які описують систему взагалі
|
cpuinfo
| файл
| інформація про процесор ( модель, сімейство, розмір кеша і т.д. model name cpu MHz cache size )
|
meminfo
| файл
| інформація про RAM, розмірі свопа и т.д. (MemTotal – скільки пам'яті всього)
|
Усередині каталога /proc - каталоги, назви яких складаються з цифр - це і є інформація про процеси - назву каталога відображає ідентифікатор процесу ( PID ). Усередині цих каталогів знаходяться файли, що містять важливу інформацію про процеси, - стан, оточення і т.д.
Якщо ви не root, то доступ до багатьох піддиректорій процесів буде вам заборонено, але до своєї власної піддиректорії процес може отримати доступ завжди.