Scroll to navigation

clock_getcpuclockid(3) Library Functions Manual clock_getcpuclockid(3)

NUME

clock_getcpuclockid - obține ID-ul ceasului de timp CPU al unui proces

BIBLIOTECA

Biblioteca C standard (libc, -lc), începând de la glibc 2.17

Înainte de glibc 2.17, biblioteca în timp real (librt, -lrt)

REZUMAT

#include <time.h>

int clock_getcpuclockid(pid_t pid, clockid_t *clockid);

Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

clock_getcpuclockid():


_POSIX_C_SOURCE >= 200112L

DESCRIERE

Funcția clock_getcpuclockid() obține ID-ul ceasului de timp CPU al procesului al cărui ID este pid și îl returnează în locația indicată de clockid. Dacă pid este zero, atunci se returnează ID-ul ceasului de timp CPU al procesului care face apelul.

VALOAREA RETURNATĂ

În caz de succes, clock_getcpuclockid() returnează 0; în caz de eroare, returnează unul dintre numerele de eroare pozitive enumerate în ERORI.

ERORI

Nucleul nu permite obținerea ceasului de timp CPU per proces al unui alt proces, iar pid nu specifică procesul apelant.
Apelantul nu are permisiunea de a accesa ceasul de timp CPU al procesului specificat de pid; (specificată în POSIX.1-2001; nu apare în Linux, cu excepția cazului în care nucleul nu permite obținerea ceasului de timp CPU per proces al unui alt proces).
Nu există niciun proces cu ID-ul pid.

VERSIUNI

Funcția clock_getcpuclockid() este disponibilă începând cu glibc 2.2.

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
clock_getcpuclockid() Siguranța firelor MT-Safe

STANDARDE

POSIX.1-2001, POSIX.1-2008.

NOTE

Apelarea clock_gettime(2) cu ID-ul ceasului obținut printr-un apel la clock_getcpuclockid() cu un pid de 0, este același lucru cu utilizarea ID-ului ceasului CLOCK_PROCESS_CPUTIME_ID.

EXEMPLE

Programul de exemplu de mai jos obține ID-ul ceasului de timp CPU al procesului al cărui ID este dat în linia de comandă și apoi utilizează clock_gettime(2) pentru a obține ora de pe acel ceas. Un exemplu de execuție este următorul:


$ ./a.out 1                 # Afișează ceasul CPU al procesului init
CPU-time clock for PID 1 is 2.213466748 seconds

Sursa programului

#define _XOPEN_SOURCE 600
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
int
main(int argc, char *argv[])
{

clockid_t clockid;
struct timespec ts;
if (argc != 2) {
fprintf(stderr, "%s <process-ID>\n", argv[0]);
exit(EXIT_FAILURE);
}
if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) {
perror("clock_getcpuclockid");
exit(EXIT_FAILURE);
}
if (clock_gettime(clockid, &ts) == -1) {
perror("clock_gettime");
exit(EXIT_FAILURE);
}
printf("Ceasul de timp CPU pentru PID %s este de %jd.%09ld secunde\n",
argv[1], (intmax_t) ts.tv_sec, ts.tv_nsec);
exit(EXIT_SUCCESS); }

CONSULTAȚI ȘI

clock_getres(2), timer_create(2), pthread_getcpuclockid(3), time(7)

TRADUCERE

Traducerea în limba română a acestui manual a fost creată 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.

15 decembrie 2022 Pagini de manual de Linux 6.03