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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.