PROCPS_MISC(3) Library Functions Manual PROCPS_MISC(3)

procps_misc - API do różnych informacji w systemie plików /proc

#include <libproc2/misc.h>
Szczegóły platformy
long         procps_cpu_count (void);
long         procps_hertz_get (void);
unsigned int procps_pid_length (void);
int          procps_linux_version (void);
Szczegóły czasu działania
int   procps_loadavg (double *av1, double *av5, double *av15);
int   procps_uptime (double *uptime_secs, double *idle_secs);
char *procps_uptime_sprint (void);
char *procps_uptime_sprint_short (void);
Szczegóły przestrzeni nazw
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);
Konsolidować z -lproc2.

procps_cpu_count() zwraca liczbę CPU obecnie włączonych, jak w sysconf(_SC_NPROCESSORS_ONLY) lub przyjęte 1.

procps_hertz_get() zwraca liczbę tyknięć zegara na sekundę, jak w sysconf(_SC_CLK_TCK) lub przyjęte 100. Podzielenie tyknięć przez tę wartość daje sekundy.

procps_pid_length() zwraca maksymalną długość łańcucha dla PIDu w systemie. Na przykład, jeśli największa możliwa wartość PID to 123, długość wynosi 3. Jeśli plik /proc/sys/kernel/pid_max jest nieczytelny, przyjmowana jest wartość 5.

procps_linux_version() zwraca bieżącą wersję Linuksa zakodowaną w liczbie całkowitej. Na systemach innych niż Linux, mających emulację systemu plików proc, ta funkcja zwraca wersję emulacji Linuksa. Wersja składa się z trzech dodatnich liczb całkowitych, oznaczających poziomy główny, poboczny i poprawek. Do kodowania danej wersji Linuksa lub podziału wersji na składniki służą poniższe makra:

LINUX_VERSION( major , minor , patch )

LINUX_VERSION_MAJOR( ver )

LINUX_VERSION_MINOR( ver )

LINUX_VERSION_PATCH( ver )

procps_loadavg() pobiera średnie obciążenie systemu i wpisuje średnie 1-, 5- i 15-minutowe w miejsce określone wskaźnikiem różnym niż NULL.

procps_uptime() zwraca czas działania systemu i/lub liczbę sekund bezczynności w miejsce określone wskaźnikiem innym niż NULL. Odmiana sprint zwraca łańcuch czytelny dla użytkownika w jednej z dwóch postaci.

HH:MM:SS up HH:MM, # users, load average: średnie 1, 5, 15 minutowe

up HH, MM

procps_ns_get_id() zwraca całkowite id (enum namespace_type) przestrzeni nazw dla podanej przestrzeni nazw name.

procps_ns_get_name() zwraca nazwę przestrzeni nazw dla podanego id (enum namespace_type).

procps_ns_read_pid() zwraca i-węzły przestrzeni nazw podanego procesu w strukturze procps_ns wskazanej przez nsp. I-węzły będą w kolejności określonej przez enum 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
};

Funkcje zwracające `int' lub `long'

Błąd jest oznaczany poprzez liczbę ujemną, będącą liczbą przeciwną do znanej wartości errno.h.

Funkcje zwracające adres

Błąd jest oznaczany zwracanym wskaźnikiem NULL, a powód można znaleźć w wartości errno.

/proc/loadavg
Surowe wartości średniego obciążenia.
/proc/sys/kernel/osrelease
Wersja wydania jądra Linuksa lub systemu plików proc.
/proc/sys/kernel/pid_max
Wartość, przy której licznik PIDów się przekręca - o jeden większa, niż maksymalna wartość PID.
/proc/uptime
Surowe wartości czasu włączenia systemu i bezczynności.
/proc/<PID>/ns
zbiór przestrzeni nazw dla określonegu PIDu.

procps(3), procps_pids(3), proc(5).

Sierpień 2022 libproc2