Scroll to navigation

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