Man page - procps(3)

Packages contains this manual

Available languages:

en pl sv uk ro

Manual

PROCPS

NAMN
SYNOPSIS
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).