| PROCPS_MISC(3) | Library Functions Manual | PROCPS_MISC(3) |
BEZEICHNUNG
procps_misc – API für diverse Informationen im /proc-Dateisystem
ÜBERSICHT
#include <libproc2/misc.h>
Platform Particulars
long procps_cpu_count (void); long procps_hertz_get (void); unsigned int procps_pid_length (void); int procps_linux_version (void);
Runtime Particulars
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);
Namespace Particulars
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);
Mask Name Resolving
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);
Linken Sie mit der Option -lproc2.
BESCHREIBUNG
procps_cpu_count() gibt die Anzahl der aktuell online befindlichen CPUs zurück, entweder als sysconf(_SC_NPROCESSORS_ONLY) oder als angenommenes 1.
procps_hertz_get() gibt die Anzahl der Taktzyklen pro Sekunde alssysconf(_SC_CLK_TCK) oder ein angenommenes 100 zurück. Die Division der Taktzyklen durch diesenWert ergibt die Sekunden.
procps_pid_length() gibt die maximale Zeichenkettenlänge für eine PID auf dem System zurück. Wenn beispielsweise der größte mögliche PID-Wert 123 wäre, wäre die Länge 3. Falls die Datei /proc/sys/kernel/pid_max nicht lesbar ist, wird der Wert 5 angenommen.
procps_linux_version() gibt die aktuelle Linux-Version als kodierte Ganzzahl zurück. Auf Nicht-Linux-Systemen mit einem emulierten proc-Dateisystem gibt diese Funktion stattdessen die Version der Linux-Emulation zurück. Die Version besteht aus drei positiven Ganzzahlen, die die Haupt-, Neben- und Patch-Version darstellen. Die folgenden Makros dienen der Kodierung einer gegebenen Linux-Version oder der Trennung der Komponenten der aktuellen Version.
LINUX_VERSION( Haupt , Neben , Patch )
LINUX_VERSION_MAJOR( Version )
LINUX_VERSION_MINOR( Version )
LINUX_VERSION_PATCH( Version )
procps_loadavg() ruft die durchschnittliche Systemlast ab und speichert die 1-, 5- und 15-Minuten-Durchschnittswerte an den durch einen beliebigen Zeiger, der nicht NULL ist, angegebenen Speicherorten.
procps_container_uptime() gibt die Laufzeit eines Containers an der durch den Zeiger angegebenen Adresse zurück, sofern dieser nicht NULL ist. Diese wird aktuell durch die verstrichene Zeit von Prozess-ID 1 bestimmt, die mit folgendem Befehl angegeben werden kann:
$ ps -o etimes 1 ELAPSED 12345
In einem Container gibt es kein Konzept von Leerlaufzeit, daher hat procps_container_uptime() diesen Parameter nicht.
procps_uptime() gibt die Betriebszeit und/oder die Leerlaufzeit in Sekunden an den durch einen beliebigen Zeiger (nicht NULL) angegebenen Speicherorten zurück. Die Varianten von sprint geben eine lesbare Zeichenkette in einem von zwei Formaten zurück.
HH:MM:SS up HH:MM, # users, load average: 1, 5, 15 MM averages
up HH, MM
procps_uptime_snprint() verwendet den angegebenen Puffer str der Länge size, um die Betriebszeitzeichenkette anstelle eines statisch zugewiesenen Puffers zu füllen. Die Funktion benötigt den Wert uptime_secs, der von procps_uptime() oder procps_container_uptime() abgerufen werden kann, sowie den Schalter pretty, das festlegt, ob die Ausgabe standardmäßig oder formatiert/kurz ist.
procps_users() gibt die Anzahl der Benutzer im System zurück. Dieser Wert stammt von sd_get_sessions(3) und wird durch Zählen der Sitzungen der Klassen user, user-early und user-incomplete oder durch Aufzählung mit getutent(3) ermittelt.
procps_ns_get_id() gibt die ganzzahlige ID (enum namespace_type) des Namensraums für den gegebenen Namensraum name zurück.
procps_ns_get_name() gibt den Namen des Namensraums für die gegebeneid (enum namespace_type) zurück.
procps_ns_read_pid() gibt die Inodes für die Namensräume des angegebenen Prozesses in der procps_ns-Struktur zurück, auf die nsp zeigt. Diese Inodes erscheinen in der durch den Enumerationstyp namespace_type festgelegten Reihenfolge.
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() füllt str mit einer lesbaren Zeichenkette von bis zu size Bytes der in der hexadezimalen Signalmaske sigmask festgelegten Signale (siehe signal(7)). Falls die Liste der Signale size Bytes überschreitet, wird die Zeichenkette abgeschnitten und mit einem »+« abgeschlossen. Es obliegt dem aufrufenden Programm, sicherzustellen, dass str korrekt mit mindestens size Bytes zugewiesen wird.
procps_capmask_names() füllt str mit einer lesbaren Zeichenkette von bis zu size Bytes der in der hexadezimalen Capabilities-Maske capmask festgelegten Fähigkeiten (siehe capabilities(7)).Wenn die Liste der Capabilities size Bytes überschreitet, wird die Zeichenkette abgeschnitten und mit einem »+« abgeschlossen. Es obliegt dem aufrufenden Programm, sicherzustellen, dass str korrekt mit mindestens size Bytes zugewiesen wird.
Für einen Prozess ohne bzw. mit allen Capabilities lautet die Zeichenkette entsprechend »-« bzw. »full«.
RÜCKGABEWERT
Funktionen, die ein ‘int’ oder ‘long’ zurückgeben
Ein Fehler wird durch eine negative Zahl angezeigt, die stets der Kehrwert eines bekannten errno.h-Wertes ist.
Funktionen, die ein ‘address’ zurückgeben
Ein Fehler wird durch einen NULL-Rückgabezeiger angezeigt, wobei der Grund im formalen errno-Wert zu finden ist.
DATEIEN
- /proc/loadavg
- Die Rohwerte für die durchschnittliche Last.
- /proc/sys/kernel/osrelease
- Enthält die Release-Version des Linux-Kernels oder des proc-Dateisystems.
- /proc/sys/kernel/pid_max
- Enthält den Wert, bei dem die PIDs umlaufen, der um eins größer ist als der maximale PID-Wert.
- /proc/uptime
- Die Rohwerte für Systembetriebszeit und Leerlaufzeit.
- /proc/PID/ns
- enthält die Menge der Namensräume für eine bestimmte PID.
SIEHE AUCH
procps(3), procps_pids(3), getutent(3), sd_get_sessions(3), proc(5), capabilities(7), signal(7).
| 6. Juli 2024 | procps-ng |