PROCPS\_MISC(3) Library Functions Manual PROCPS\_MISC(3)

# [NAMN](#NAMN)

procps\_misc — API för diverse information i filsystemet /proc

# [SYNOPSIS](#SYNOPSIS)

```
#include <libproc2/misc.h>
```

```
Plattformsegenskaper
```

```
long         procps_cpu_count (void);
long         procps_hertz_get (void);
unsigned int procps_pid_length (void);
int          procps_linux_version (void);
```

```
Körtidsegenskaper
```

```
int   procps_container_uptime (double *uppetid_s);
int   procps_loadavg (double *gs1, double *gs5, double *gs15);
int   procps_uptime (double *uppetid_s, double *inaktiv_s);
int   procps_uptime_snprint ( char *restrict str, size_t storlek, double uppetid_s, const int snyggt);
char *procps_uptime_sprint (void);
char *procps_uptime_sprint_short (void);
int   procps_users (void);
```

```
Namnrymdsegenskaper
```

```
int         procps_ns_get_id (const char *namn);
const char *procps_ns_get_name (int id);
int         procps_ns_read_pid (int pid, struct procps_ns *nrd);
```

```
Masknamnsuppslagning
```

```
int procps_sigmask_names (char *const str, size_t storlek , const char *sigmask);
int procps_capmask_names (char *const str, size_t storlek,  const char *fmgmask);
```

```
Länka med -lproc2.
```

# [BESKRIVNING](#BESKRIVNING)

**procps\_cpu\_count**() returnerar antalet CPU:er som för närvarande är inkopplade liksom **sysconf(\_SC\_NPROCESSORS\_ONLY)** eller ett antaget *1*.

**procps\_hertz\_get**() returnerar antalet klocktick per sekund liksom **sysconf(\_SC\_CLK\_TCK)** eller ett antaget *100*. Att dividera tick med detta värder ger sekunder.

**procps\_pid\_length**() returnerar den maximala stränglängden för en PID på systemet. Till exempel, om det största möjliga värdet på en PID var 123, då skulle längden vara 3. Om filen */proc/sys/kernel/pid\_max* är oläsbar antas värdet vara *5*.

**procps\_linux\_version**() returnerar den aktuella Linuxversionen som ett kodat heltal. På ett icke-Linuxsystem som har ett emulerat proc-filsystem returnerar denna funktionen versionen på Linuxemuleringen istället. Versionen består av tre positiva heltal som representerar nivåerna större, mindre och fix. Följande makron finns för att koda en given Linuxversion eller att separera ut komponenterna av den aktuella versionen.

LINUX\_VERSION( större , mindre , fix )

LINUX\_VERSION\_MAJOR( ver )

LINUX\_VERSION\_MINOR( ver )

LINUX\_VERSION\_PATCH( ver )

**procps\_loadavg**() hämtar genomsnittlig systemlast och lägger genomsnitten över 1, 5 och 15 minuter i platserna som anges av de pekare som inte är *NULL*.

**procps\_container\_uptime**() returnerar en behållares uppetid i platsen som anges av pekaren om den inte är *NULL*. Detta avgörs för närvarande av den förlupna tiden för PID 1, vilket skulle kunna ges med kommandot:

```
$ ps -o etimes 1
FÖRLUP.
12345
```

Begreppet inaktiv tid finns inte i en behållare så **procps\_container\_uptime** har inte den parametern.

**procps\_uptime**() returnerar uppetiden och eller inaktiva sekunder i platserna som anges av de pekare som inte är *NULL*. Varianterna **sprint** returnerar en mänskligt läsbar sträng på en av två former.

HH:MM:SS up HH:MM, # users, load average: 1, 5, 15 MM averages

up HH, MM

**procps\_uptime\_snprint**() använder den givna bufferten *str* med längden *storlek* för att fylla i upptidssträngen istället för en statiskt allokerad buffert. Funktionen behöver värdet *uppetid\_s*, som kan fås från **procps\_uptime**() eller **procps\_container\_uptime**() och flaggan *snyggt* avgör ifall utdata är standard eller snyggt/kort.

**procps\_users**() returnerar antalet användare på systemet. Detta värde kommer från [**sd\_get\_sessions**(3)](/man/os/procps/sd_get_sessions.3) och räknar användarsessionerna, klasserna user-early och user-incomplete eller uppräkningen via [**getutent**(3)](/man/os/procps/getutent.3).

**procps\_ns\_get\_id**() returnerar heltals-id:t (enum namespace\_type) för namnrymden för den angivna namnrymden *namn*.

**procps\_ns\_get\_name**() returnerar namnet på namnrymden för det angivna *id:t* (enum namespace\_type).

**procps\_ns\_read\_pid**() returnerar inoderna för namnrymderna för den angivna processen procps\_ns-posten som pekas ut av *nrp*. Dessa inoder kommer komma i den ordning som föreskrivs av 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
};
```

**procps\_sigmask\_names**() fyller *str* med en mänskligt läsbar textsträng av upp till *storlek* byte med signalerna satta i den hexadecimala signalmasken *sigmask*, se [**signal**(7)](/man/os/procps/signal.7). Om listan av signaler överskrider *storlek* byte kommer strängen huggas av och sluta med ett ”+”. Det åligger det anropande programmet att se till att *str* är korrekt allokerad med åtnimstone *storlek* byte.

**procps\_capmask\_names**() fyller *str* med en mänskligt läsbar textsträng av upp till *storlek* byte med förmågorna som är satta i den hexadecimala förmågemasken *fmgmask*, se [**capabilities**(7)](/man/os/procps/capabilities.7). Om listan av förmågor överskrider *storlek* byte kommer strängen huggas av och sluta med ett ”+”. Det åligger det anropande programmet att se till att *str* är korrekt allokerad med åtnimstone *stårlek* byte.

För en process som inte har några förmågor eller alla förmågor kommer strängern vara ”-” respektive ”full”.

# [RETURVÄRDE](#RETURV)

## Funktioner som returnerar en ”int” eller ”long”

Ett fel kommer indikera ett negativt tal som alltid är inversen av något känt värde från errno.h.

## 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.

# [FILER](#FILER)

*/proc/loadavg*

De råa värdena för lastgenomsnitt.

*/proc/sys/kernel/osrelease*

Innehåller utgåveversionen för Linuxkärnan eller proc-filsystemet.

*/proc/sys/kernel/pid\_max*

Innehåller värdet vid vilket PID:ar slår runt, ett större än det maximala PID-värdet.

*/proc/uptime*

De råa värdena för systemets uppetid och inaktiv tid.

*/proc/*PID*/ns*

innehåller uppsättningen av namnrymder för en viss *PID*.

# [SE ÄVEN](#SE_)

[**procps**(3)](/man/os/procps/procps.3), [**procps\_pids**(3)](/man/os/procps/procps_pids.3), [**getutent**(3)](/man/os/procps/getutent.3), [**sd\_get\_sessions**(3)](/man/os/procps/sd_get_sessions.3), [**proc**(5)](/man/os/procps/proc.5), [**capabilities**(7)](/man/os/procps/capabilities.7), [**signal**(7)](/man/os/procps/signal.7).

2024-07-06 procps-ng

---

Document: procps_misc(3) from procps 4.0.7-r1 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.7.tar.xz
