Provided by: manpages-ro-dev_4.27.0-1_all 

NUME
getrusage - obține informații despre utilizarea resurselor
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <sys/resource.h> int getrusage(int who, struct rusage *usage);
DESCRIERE
getrusage() returnează măsurile de utilizare a resurselor pentru who, care pot fi una dintre următoarele: RUSAGE_SELF Returnează statisticile de utilizare a resurselor pentru procesul apelant, care reprezintă suma resurselor utilizate de toate firele din proces. RUSAGE_CHILDREN Returnează statistici privind utilizarea resurselor pentru toți copiii procesului apelant care s-au încheiat și au fost așteptați. Aceste statistici vor include resursele utilizate de nepoți și de descendenții îndepărtați ulterior, în cazul în care toți descendenții care au intervenit și-au așteptat copiii care s-au încheiat. RUSAGE_THREAD (începând cu Linux 2.6.26) Returnează statisticile de utilizare a resurselor pentru firul apelant. Macrocomanda de testare a caracteristicii _GNU_SOURCE trebuie definit (înainte de includerea fișierului de antet any) pentru a obține definiția acestei constante din <sys/resource.h>. Utilizările resurselor sunt returnate în structura indicată de usage, care are următoarea formă: struct rusage { struct timeval ru_utime; /* timpul CPU utilizat de utilizator */ struct timeval ru_stime; /* timpul CPU utilizat de sistem */ long ru_maxrss; /* dimensiunea maximă a setului rezident */ long ru_ixrss; /* dimensiunea integrală a memoriei partajate */ long ru_idrss; /* dimensiunea integrală a memoriei nepartajate */ long ru_isrss; /* dimensiune integrală a stivei nepartajate */ long ru_minflt; /* revendicări de pagină (defecte de pagină ușoare) */ long ru_majflt; /* defecte de pagină (defecte de pagină grave) */ long ru_nswap; /* swaps */ long ru_inblock; /* operații de intrare în bloc */ long ru_oublock; /* operații de ieșire în blocs */ long ru_msgsnd; /* mesaje IPC trimise */ long ru_msgrcv; /* mesaje IPC primite */ long ru_nsignals; /* semnale primite */ long ru_nvcsw; /* schimbări voluntare de context */ long ru_nivcsw; /* schimbări involuntare de context */ }; Nu toate câmpurile sunt completate; câmpurile neîntreținute sunt puse la zero de către nucleu; (câmpurile neîntreținute sunt furnizate pentru compatibilitate cu alte sisteme și pentru că într-o zi ar putea fi acceptate pe Linux). Câmpurile sunt interpretate după cum urmează: ru_utime Aceasta este cantitatea totală de timp petrecută executând în modul utilizator, exprimată într-o structură timeval (secunde plus microsecunde). ru_stime Aceasta este cantitatea totală de timp petrecută executând în modul nucleu, exprimată într-o structură timeval (secunde plus microsecunde). ru_maxrss (începând cu Linux 2.6.32) Aceasta este dimensiunea maximă a setului rezident utilizat (în kiloocteți). Pentru RUSAGE_CHILDREN, aceasta este dimensiunea setului rezident al celui mai mare copil, nu dimensiunea maximă a setului rezident al arborelui de procese. ru_ixrss (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_idrss (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_isrss (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_minflt Numărul de erori de pagină rezolvate fără nicio activitate de In/Ieș; în acest caz, activitatea de In/Ieș este evitată prin „recuperarea” unui cadru de pagină din lista de pagini care așteaptă realocarea. ru_majflt Numărul de erori de pagină deservite care au necesitat activitate In/Ieș. ru_nswap (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_inblock (începând cu Linux 2.6.22) Numărul de ori în care sistemul de fișiere a trebuit să efectueze o intrare. ru_oublock (începând cu Linux 2.6.22) Numărul de ori în care sistemul de fișiere a trebuit să efectueze o ieșire. ru_msgsnd (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_msgrcv (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_nsignals (nu este întreținut) Acest câmp este în prezent neutilizat pe Linux. ru_nvcsw (începând cu Linux 2.6) Numărul de ori în care a avut loc o schimbare de context ca urmare a faptului că un proces a renunțat în mod voluntar la procesor înainte de finalizarea tranșei sale de timp (de obicei pentru a aștepta disponibilitatea unei resurse). ru_nivcsw (începând cu Linux 2.6) Numărul de ori în care a avut loc o schimbare de context ca urmare a faptului că un proces cu prioritate mai mare a devenit executabil sau pentru că procesul curent și-a depășit intervalul de timp.
VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
ERORI-IEȘIRE
EFAULT usage indică în afara spațiului de adrese accesibil. EINVAL who nu este valid.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │ Interfață │ Atribut │ Valoare │ ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │ getrusage() │ Siguranța firelor │ MT-Safe │ └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2008. POSIX.1 specifică getrusage(), dar specifică numai câmpurile ru_utime și ru_stime. RUSAGE_THREAD este specific Linux.
ISTORIC
POSIX.1-2001, SVr4, 4.3BSD. Înainte de Linux 2.6.9, dacă dispoziția SIGCHLD este stabilită la SIG_IGN, atunci utilizările de resurse ale proceselor copil sunt incluse automat în valoarea returnată de RUSAGE_CHILDREN, deși POSIX.1-2001 interzice explicit acest lucru. Această neconformitate este rectificată în Linux 2.6.9 și versiunile ulterioare. Definiția structurii prezentată la începutul acestei pagini a fost preluată din 4.3BSD Reno. Sistemele vechi ofereau o funcție vtimes() cu un scop similar cu getrusage(). Pentru retrocompatibilitate, glibc (până la Linux 2.32) furnizează, de asemenea, vtimes(). Toate aplicațiile noi ar trebui să fie scrise folosind getrusage(); (începând cu Linux 2.33, glibc nu mai furnizează o implementare vtimes()).
NOTE
Măsurătorile de utilizare a resurselor sunt păstrate pe parcursul unui execve(2).
CONSULTAȚI ȘI
clock_gettime(2), getrlimit(2), times(2), wait(2), wait4(2), clock(3), proc_pid_stat(5), proc_pid_io(5)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org> Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team- ro@lists.sourceforge.net. Pagini de manual de Linux 6.9.1 2 mai 2024 getrusage(2)