Provided by: manpages-ro-dev_4.21.0-2_all bug

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

       ENOSYS Nucleul  nu  permite  obținerea  ceasului  de  timp  CPU per proces al unui alt proces, iar pid nu
              specifică procesul apelant.

       EPERM  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).

       ESRCH  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țăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ 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.

Pagini de manual de Linux 6.03                  15 decembrie 2022                         clock_getcpuclockid(3)