Man page - procps(3)
Packages contains this manual
Available languages:
en pl sv uk roManual
PROCPS
NAMNSYNOPSIS
BESKRIVNING
Ăversikt
AnvÀndning
FörbehÄll
RETURVĂRDE
Funktioner som returnerar en âintâ
Funktioner som returnerar en âadressâ
FELSĂKNING
SE ĂVEN
NAMN
procps â API för att komma Ă„t information pĂ„ systemnivĂ„ i filsystemet /proc
SYNOPSIS
Fem distinkta grÀnssnitt representeras i detta synopsis namnges efter filen de anvÀnder i pseudofilsystemet /proc: diskstats , meminfo , slabinfo , stat och vmstat .
#include <libproc2/ namngivet_grÀnssnitt .h>
int
procps_new
(struct info **
info
);
int
procps_ref
(struct info *
info
);
int
procps_unref
(struct info **
info
);
struct result
*
procps_get
(
struct info *
info
,
[ const char *
namn
, ] endast
diskstats
-api:et
enum item
post
);
struct stack
*
procps_select
(
struct info *
info
,
[ const char *
namn
, ] endast
diskstats
-api:et
enum item *
poster
,
int
postantal
);
struct reaped
*
procps_reap
(
struct info *
info
,
[ enum reap_type
vad
, ] endast
stat
-api:et
enum item *
poster
,
int
postantal
);
struct stack
**
procps_sort
(
struct info *
info
,
struct stack *
stackar
[],
int
stackantal
,
enum item
sortpost
,
enum sort_order
ordning
);
OvanstĂ„ende funktioner och poster Ă€r generella men det specifika namngivna_grĂ€nssnittet skall ocksĂ„ vara en del av alla identifierare. Till exempel, âprocps_newâ skulle faktiskt vara âprocps_ meminfo _newâ och "info" skulle faktiskt vara â diskstats _infoâ, etc.
Samma namngivna_grÀnssnitt anvÀnds i varje huvudfilnamn med en Àndelse .h tillagd.
LĂ€nka med -lproc2 .
BESKRIVNING
Ăversikt
Centralt för dessa grĂ€nssnitt Ă€r en enkel âresultatâ-post so avspelgar ett âelementâ plus dess vĂ€rde (i en union med typer frĂ„n standardsprĂ„ket C som medlemmar). Alla âresultatâ-poster allokeras automatiskt och levereras av biblioteket.
Genom att ange en vektor av âelementâ kan dessa strukturer organiseras som en âstackâ, som potentiellt ger mĂ„nga resultat med ett enda funktionsanrop. AlltsĂ„ kan en âstackâ ses som en post med variabel lĂ€ngd vars innehĂ„ll och ordning helt avgörs av anvĂ€ndaren.
Som en del av varje grĂ€nssnitt finns det tvĂ„ unika upprĂ€knare. Elementen ânoopâ och âextraâ finns för att hĂ„lla anvĂ€ndarvĂ€rden. De sĂ€tts aldrig av bilbioteket, men resultatet âextraâ kommer nollstĂ€llas med varje biblioteksinteratkion.
Huvudfilen namngivet_grĂ€nssnitt kommer vara ett viktigt dokument under programutveckling. DĂ€r hittar man tillgĂ€ngliga element, deras returtyper (medlemsnamn i posten âresultatâ) och kĂ€llan för sĂ„dana vĂ€rden. Ytterligare upprĂ€knare och poster dokumenteras ocksĂ„ dĂ€r.
AnvÀndning
Följande skulle vara en typisk sekvens av anrop till dessa grÀnssnitt.
1.
procps_new()
2.
procps_get()
,
procps_select()
eller
procps_reap()
3.
procps_unref()
Funktionen get anvĂ€nds för att hĂ€mta posten âresultatâ för ett visst âelementâ. Alternativt Ă€r ett GET -makro tillgĂ€ngligt nĂ€r endast returvĂ€rdet Ă€r intressant.
Funktionen select kan hĂ€mta flera âresultatâ-poster i en enda âstackâ.
För oförutsĂ€gbara variabla resultat exporterar grĂ€nssnitten diskstats , slabinfo och stat en funktion reap . Den anvĂ€nds för att hĂ€mta multipla âstackarâ dĂ€r var och en innehĂ„ller flera âresultatâ-poster. Om önskas kan en anvĂ€ndare vĂ€lja att sortera dessa resultat.
För att anvĂ€nda nĂ„gon âstackâ, och komma Ă„t individuella âresultatâ-poster, krĂ€vs en relativ_upprĂ€kning som visas i makrot VAL definierat i huvudfilen. SĂ„dana vĂ€rden skulle kunna hĂ„rdkodas som: 0 till antalelement-1. Dock uppfylls detta behov typiskt genom att skapa ens egna upprĂ€knare motsvarande ordningen i vektorn av âelementâ.
FörbehÄll
Funktionerna new , ref , unref , get och select Àr tillgÀngliga i alla fem grÀnssnitten.
För funktionerna new och unref mÄste adressen till en info -postpekare ges. Med new mÄste den ha initierats till NULL. Med unref kommer den ÄterstÀllas till NULL om referensrÀknaren nÄr noll.
Vad gÀller grÀnssnittet diskstats identifierar en parameter namn till funktionerna get och select en disk eller ett partitionsnamn
För grÀnssnittet stat identifierar en vad -parameter till funktionen reap huruvida data för endast CPU:er eller bÄde CPU:er och NUMA-noder skall samlas in.
NĂ€r man anvĂ€nder funktionen sort skall normalt parametrarna stackar och stackantal normalt vara de som returneras av posten âreapedâ.
RETURVĂRDE
Funktioner som returnerar en âintâ
Ett fel kommer indikera ett negativt tal som alltid Àr inversen av nÄgot kÀnt vÀrde frÄn errno.h.
Lyckat resultat markeras med ett returvÀrde av noll. Dock returnerar funktionerna ref och unref det aktuella vÀrdet pÄ referensrÀknaren för info -posten.
Funktioner som returnerar en âadressâ
Ett fel kommer indikeras av en NULL-returpekare och orsaken gÄr att hitta i dett formella errno-vÀrdet.
Lyckat resultat indikeras med en pekare till den namngivna posten.
FELSĂKNING
För att hjĂ€lpa till i programutveckling finns det ett medel som kan hjĂ€lpa till att sĂ€kerstĂ€lla att âresultatâ-medlemsreferenser stĂ€mmer överens med bibliotekets förvĂ€ntningar. Det förutsĂ€tter att ett av de tillgĂ€ngliga makrona i huvudfilen anvĂ€nds för att komma Ă„t âresultatâ-vĂ€rdet.
Denna funktion kan aktiveras genom nÄgon av de följande metoderna och eventuella avvikelser kommer att skrivas till standard fel .
|
1) |
LĂ€gg till CFLAGS=â-DXTRA_PROCPS_DEBUGâ till eventuella övriga flaggor som anvĂ€nds till ./configure. |
||
|
2) |
LÀgg till #include <procps/xtra-procps-debug.h> till alla program efter inkluderandet av de namngivna grÀnssnitten. |
Denna verifieringsfunktion orsakar en vÀsentlig kostnad. DÀrför Àr det viktigt att den inte Àr aktiverad för produktions-/utgÄvebyggen.
SE ĂVEN
procps_misc (3), procps_pids (3), proc (5).