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

NUME

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

BIBLIOTECA

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

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

SINOPSIS

       #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-IEȘIRE

       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.

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-2008.

ISTORIC

       glibc 2.2.  POSIX.1-2001.

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   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                   15 iunie 2024                           clock_getcpuclockid(3)