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

# [NUME](#NUME)

procps\_misc - API (interfață de program) pentru a accesa diverse informații din sistemul de fișiere „/proc”

# [REZUMAT](#REZUMAT)

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

```
Detalii platformă
```

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

```
Detalii privind timpul de execuție
```

```
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);
```

```
Detalii despre spațiul de nume
```

```
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);
```

```
Rezolvarea numelui măștii
```

```
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);
```

```
Legătură cu -lproc2.
```

# [DESCRIERE](#DESCRIERE)

**procps\_cpu\_count**() returnează numărul de procesoare care sunt în prezent active ca **sysconf(\_SC\_NPROCESSORS\_ONLY)** sau un presupus *1*.

**procps\_hertz\_get**() returnează numărul de cicluri de ceas pe secundă ca **sysconf(\_SC\_CLK\_TCK)** sau se presupunu o valoare de *100*. Împărțirea ciclurilor la această valoare generează secunde.

**procps\_pid\_length**() returnează lungimea maximă a șirului pentru un PID activ al sistemului. De exemplu, dacă cea mai mare valoare posibilă de PID activ a fost 123, atunci lungimea ar fi 3. Dacă fișierul */proc/sys/kernel/pid\_max* nu poate fi citit, se presupune că valoarea este *5*.

**procps\_linux\_version**() returnează versiunea curentă a nucleului Linux ca un întreg codificat. Pe sistemele non-Linux care au un sistem de fișiere proc emulat, această funcție returnează versiunea emulării Linux. Versiunea constă din trei numere întregi pozitive reprezentând nivelurile major, minor și plasture(patch). Următoarele macrocomenzi sunt furnizate pentru a codifica o anumită versiune Linux sau pentru a separa componentele versiunii curente.

LINUX\_VERSION( major , minor , patch )

LINUX\_VERSION\_MAJOR( ver )

LINUX\_VERSION\_MINOR( ver )

LINUX\_VERSION\_PATCH( ver )

**procps\_loadavg**() preia media de încărcare a sistemului și plasează mediile de 1, 5 și 15 minute în locațiile specificate de orice indicator care nu este *NULL*.

**procps\_uptime**() returnează timpul de funcționare și/sau secundele de inactivitate în locațiile specificate de orice indicator care nu este *NULL*. Utilizarea formatului **sprint** returnează un șir care poate fi citit de om în una dintre cele două forme.

```
$ ps -o etimes 1
ELAPSED
12345
```

Nu există conceptul de timp inactiv într-un container, astfel încât **procps\_container\_uptime**() nu are acest parametru.

**procps\_uptime**() returnează timpul de funcționare și/sau secundele de inactivitate în locațiile specificate de orice indicator care nu este *NULL*. Utilizarea formatului **sprint** returnează un șir care poate fi citit de om în una dintre cele două forme.

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

up HH, MM

**procps\_uptime\_snprint**() Utilizează memoria tampon dată *str* de lungime *size* pentru a completa șirul uptime în locul unei memorii tampon alocate static. Funcția necesită valoarea *uptime\_secs*, care poate fi obținută din **procps\_uptime**() sau **procps\_container\_uptime**(), iar fanionul *pretty* determină dacă ieșirea este standard sau „pretty/short”.

**procps\_users**() returnează numărul de utilizatori din sistem. Această valoare provine din [**sd\_get\_sessions**(3)](/man/os/procps/sd_get_sessions.3) și numărarea sesiunilor din clasa user, user-early și user-incomplete sau enumerarea prin [**getutent**(3)](/man/os/procps/getutent.3).

**procps\_ns\_get\_id**() returnează id-ul întreg (enum namespace\_type) al spațiului de nume pentru spațiul de nume dat *nume*.

**procps\_ns\_get\_name**() returnează numele spațiului de nume pentru *id*-ul dat (enum namespace\_type).

**procps\_ns\_read\_pid**() returnează nodul-i pentru spațiile de nume ale procesului dat în structura procps\_ns indicată de *nsp*. Acele noduri-i vor apărea în ordinea prescrisă de enumerarea 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**() Completează *str* cu un șir de text lizibil de până la *size* octeți al semnalelor stabilite în masca de semnal hexazecimal *sigmask*, a se vedea [**signal**(7)](/man/os/procps/signal.7). Dacă lista de semnale depășește *size* octeți, șirul va fi trunchiat și se va termina cu un „+”. Depinde de programul apelant să se asigure că *str* este alocat corect cu cel puțin *size* octeți.

**procps\_capmask\_names**() Fills *str* with a human-readable text string of up to *size* bytes of the capabilities set in the hexadecimal capability mask *capmask*, see [**capabilities**(7)](/man/os/procps/capabilities.7). If the list of capabilities exceeds *size* bytes, the string will be truncated and will end with a '+'. It is up to the calling program to ensure that *str* is correctly allocated with at least *size* bytes.

Pentru un proces care nu are capacități sau are toate capacitățile, șirul va fi „-” și, respectiv, „full”.

# [VALOARE RETURNATĂ](#VALOARE_RETURNAT)

## Funcții care returnează un „int” (număr întreg) sau un „long” (număr întreg lung)

O eroare va fi indicată printr-un număr negativ care este întotdeauna inversul unei valori binecunoscute a errno.h.

## Funcții care returnează o „adresă”

O eroare va fi indicată printr-un indicator de returnare NULL cu motivul găsit în valoarea formală errno (număr eroare).

# [FIȘIERE](#FI)

*/proc/loadavg*

Valorile brute pentru media de încărcare.

*/proc/sys/kernel/osrelease*

Conține versiunea de lansare a nucleului Linux sau a sistemului de fișiere proc.

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

Conține valoarea la care se încadrează PID-urile, cu una mai mare decât valoarea PID maximă.

*/proc/uptime*

Valorile brute pentru timpul de funcționare al sistemului și timpul de inactivitate.

*/proc/*PID*/ns*

conține setul de spații de nume pentru un anumit *PID*.

# [CONSULTAȚI ȘI](#CONSULTA)

[**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).

06.07.2024 procps-ng

---

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