table of contents
PROCPS_MISC(3) | Library Functions Manual | PROCPS_MISC(3) |
НАЗВА¶
procps_misc — програмний інтерфейс до різноманітних даних у файловій системі /proc
КОРОТКИЙ ОПИС¶
#include <libproc2/misc.h>
Подробиці щодо платформи
long procps_cpu_count (void); long procps_hertz_get (void); unsigned int procps_pid_length (void); int procps_linux_version (void);
Подробиці щодо середовища виконання
int procps_container_uptime (double *uptime_secs); int procps_loadavg (double *av1, double *av5, double *av15); int procps_uptime (double *uptime_secs, double *idle_secs); int procps_uptime_snprint ( char *restrict str, size_t size, double uptime_secs, const int pretty); char *procps_uptime_sprint (void); char *procps_uptime_sprint_short (void); int procps_users (void);
Подробиці щодо простору назв
int procps_ns_get_id (const char *name); const char *procps_ns_get_name (int id); int procps_ns_read_pid (int pid, struct procps_ns *nsp);
Визначення назв масок
int procps_sigmask_names (char *const str, size_t size , const char *sigmask); int procps_capmask_names (char *const str, size_t size, const char *capmask);
Компонувати з -lproc2.
ОПИС¶
procps_cpu_count() повертає кількість робочих процесорів як sysconf(_SC_NPROCESSORS_ONLY) або типове значення 1.
procps_hertz_get() повертає кількість тактів годинника на секунду як sysconf(_SC_CLK_TCK) або типове значення 100. Якщо поділити такти на це значення, буде отримано секунди.
procps_pid_length() повертає максимальну довжину рядка для PID у системі. Наприклад, якщо найбільше можливе значення PID — 123, довжиною буде 3. Якщо файл /proc/sys/kernel/pid_max виявиться недоступним до читання, типовим значенням буде 5.
procps_linux_version() повертає версію поточної системи Linux у форматі закодованого цілого числа. У системах, відмінних від Linux, із імітацією файлової системи proc ця функція повертає версію емуляції Linux. Версія складається з трьох додатних цілих чисел, які відповідають основній, проміжній частинам і частині модифікації. Передбачено вказані нижче макроси для кодування заданої версії Linux або окремого використання компонентів поточної версії.
LINUX_VERSION( major , minor , patch )
LINUX_VERSION_MAJOR( ver )
LINUX_VERSION_MINOR( ver )
LINUX_VERSION_PATCH( ver )
procps_loadavg() отримує дані щодо середнього навантаження на систему і записує середні значення за 1, 5 і 15 хвилин у місця, які вказано будь-яким вказівником, який не є порожнім (NULL).
procps_container_uptime() повертає час роботи контейнера у місце, яке задано вказівником, якщо його значенням не є NULL. У поточній версії цей час визначається часом існування PID 1, який могло бути задано такою командою:
$ ps -o etimes 1 ELAPSED 12345
У контейнері немає поняття бездіяльності, тому у procps_container_uptime() немає цього параметра.
procps_uptime() повертає час роботи і/або бездіяльності у секундах у місця, які вказано будь-яким вказівником, який не є порожнім (NULL). Використання форматування sprint повертає рядок у зручному для читання форматі в одній із двох форм.
ГГ:ХХ:СС up ГГ:ХХ, # users, load average: 1, 5, 15 MM averages
up ГГ, ХХ
procps_uptime_snprint() використовує заданий буфер str розміру size для заповнення рядка часу виконання замість статично розміщеного буфера. Функції потрібне значення uptime_secs, яке може бути отримане з procps_uptime() або procps_container_uptime(), а прапорець pretty визначає, будуть виведені дані стандартними чи удосконаленим/скороченими.
procps_users() повертає кількість користувачів у системі. Це значення походить від sd_get_sessions(3) і є результатом підрахунку сеансів користувача, клас user-early і user-incomplete або нумерації за допомогою getutent(3).
procps_ns_get_id() повертає цілочисельний ідентифікатор (enum namespace_type) простору назв для заданого простору назв name.
procps_ns_get_name() повертає назву простора назв для заданого id (enum namespace_type).
procps_ns_read_pid() повертає inode-и для просторів назв із заданим процесом у структурі procps_ns на яку вказує nsp. Ці inode-и буде виведено у порядку, який визначається переліком namespace_type.
enum namespace_type {
PROCPS_NS_CGROUP,
PROCPS_NS_IPC,
PROCPS_NS_MNT,
PROCPS_NS_NET,
PROCPS_NS_PID,
PROCPS_NS_TIME,
PROCPS_NS_USER,
PROCPS_NS_UTS };
procps_sigmask_names() заповнює str зручним для читання текстовим рядком довжиною до size байтів набору сигналів у шістнадцятковій масці сигналів sigmask, див. signal(7). Якщо довжина списку сигналів перевищить size байтів, рядок буде обрізано і завершено '+'. Відповідальність за забезпечення правильного розміщення str у принаймні size байтів несе програма виклику.
procps_capmask_names() заповнює str зручним для читання текстовим рядком довжиною до size байтів набору можливостей у шістнадцятковій масці можливостей sigmask, див. capabilities(7). Якщо довжина списку можливостей перевищить size байтів, рядок буде обрізано і завершено '+'. Відповідальність за забезпечення правильного розміщення str у принаймні size байтів несе програма виклику.
Для процесу, який немає можливостей або усі можливості, рядком буде "-" і "full", відповідно.
ПОВЕРНУТЕ ЗНАЧЕННЯ¶
Функції, які повертають «int» або «long»¶
На помилку вказуватиме від'ємне число, яке є завжди оберненим до якогось відомого значення з errno.h.
Функції, які повертають ‘address’¶
На помилку вказуватиме повернутий NUL-вказівник із повідомлення про причину у формальному значенні errno.
ФАЙЛИ¶
- /proc/loadavg
- Необроблені значення для середнього навантаження.
- /proc/sys/kernel/osrelease
- Містить версію випуску ядра Linux або файлової системи proc.
- /proc/sys/kernel/pid_max
- Містить значення, на якому відбувається зациклювання PID, на одиницю більше за максимальне значення PID.
- /proc/uptime
- Необроблені значення для часу роботи та часу бездіяльності системи.
- /proc/PID/ns
- містить набір просторів назв для певного PID.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
procps(3), procps_pids(3), getutent(3), sd_get_sessions(3), proc(5), capabilities(7), signal(7).
6 липня 2024 року | procps-ng |