Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
times - obține timpii procesului
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <sys/times.h>
clock_t times(struct tms *buf);
DESCRIERE
times() stochează timpii procesului curent în struct tms la care indică buf. structl tms este definită în
<sys/times.h>:
struct tms {
clock_t tms_utime; /* timpul utilizatorului */
clock_t tms_stime; /* timpul sistemului */
clock_t tms_cutime; /* timpul de utilizator al proceselor-copil */
clock_t tms_cstime; /* timpul de sistem al proceselor-copil */
};
Câmpul tms_utime conține timpul petrecut de CPU în executarea instrucțiunilor procesului de apelare.
Câmpul tms_stime conține timpul petrecut de CPU în timpul execuției în interiorul nucleului în timp ce
efectuează sarcini în numele procesului apelant.
Câmpul tms_cutime conține suma valorilor tms_utime și tms_cutime pentru toate procesele/firele-copil
așteptate să se termine. Câmpul tms_cstime conține suma valorilor tms_stime și tms_cstime toate
procesele/firele-copil așteptate să se termine.
Timpii pentru copiii terminați (și pentru descendenții lor) sunt adăugați în momentul în care wait(2) sau
waitpid(2) returnează ID-ul lor de proces. În special, timpii nepoților pe care copiii nu i-au așteptat
nu sunt văzuți niciodată.
Toate duratele de timp raportate sunt exprimate în „tic-tacuri” de ceas.
VALOAREA RETURNATĂ
times() returnează numărul de ticuri de ceas care s-au scurs de la un punct arbitrar din trecut. Valoarea
returnată poate depăși intervalul posibil al tipului clock_t. În caz de eroare, se returnează
(clock_t) -1, iar errno este configurată pentru a indica eroarea.
ERORI-IEȘIRE
EFAULT tms indică în afara spațiului de adrese al procesului.
VERSIUNI
În Linux, argumentul buf poate fi specificat ca fiind NULL, ceea ce înseamnă că times() returnează doar
un rezultat de funcție. Cu toate acestea, POSIX nu specifică acest comportament, iar majoritatea
celorlalte implementări UNIX necesită o valoare non-NULL pentru buf.
STANDARDE
POSIX.1-2008.
ISTORIC
POSIX.1-2001, SVr4, 4.3BSD.
În POSIX.1-1996, simbolul CLK_TCK (definit în <time.h>) este menționat ca fiind învechit. Acesta este
învechit în prezent.
Înainte de Linux 2.6.9, dacă dispoziția lui SIGCHLD este stabilită la SIG_IGN, atunci timpii copiilor
terminați sunt automat incluși în câmpurile tms_cstime și tms_cutime, deși POSIX.1-2001 spune că acest
lucru ar trebui să se întâmple numai dacă procesul apelant efectuează wait(2)s pe copiii săi. Această
neconformitate este rectificată în Linux 2.6.9 și versiunile ulterioare.
În Linux, punctul „arbitrar din trecut” de la care se măsoară valoarea de întoarcere a times() a variat
între versiunile nucleului. În Linux 2.4 și versiunile anterioare, acest punct este momentul în care
sistemul a fost inițiat. â Începând cu Linux 2.6, acest punct este (2^32/HZ) - 300 secunde înainte de
momentul de pornire a sistemului. Această variabilitate între versiunile nucleului (și între
implementările UNIX), combinată cu faptul că valoarea returnată poate depăși intervalul clock_t, înseamnă
că o aplicație portabilă ar fi înțelept să evite utilizarea acestei valori. Pentru a măsura modificările
în timpul scurs, utilizați în schimb clock_gettime(2).
SVr1-3 returnează long, iar membrii structurii sunt de tip time_t, deși stochează ticuri de ceas, nu
secunde de la Epocă. V7 a folosit long pentru membrii structurilor, deoarece nu avea încă tipul time_t.
NOTE
Numărul de ticuri de ceas pe secundă poate fi obținut folosind:
sysconf(_SC_CLK_TCK);
Rețineți că clock(3) returnează, de asemenea, o valoare de tip clock_t, dar această valoare este măsurată
în unități de CLOCKS_PER_SEC, nu în ticuri de ceas utilizate de times().
ERORI
O limitare a convențiilor de apelare a sistemului Linux pe anumite arhitecturi (în special i386) înseamnă
că pe Linux 2.6 există o mică fereastră de timp (41 de secunde) imediat după pornire, când times() poate
returna -1, indicând în mod fals că a avut loc o eroare. Aceeași problemă poate apărea atunci când
valoarea de returnare depășește valoarea maximă care poate fi stocată în clock_t.
CONSULTAȚI ȘI
time(1), getrusage(2), wait(2), clock(3), sysconf(3), time(7)
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 times(2)