.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH clock_getcpuclockid 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ clock_getcpuclockid \- возвращает ID процессорных часов процесса .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP), since glibc 2.17 .PP Before glibc 2.17, Real\-time library (\fIlibrt\fP, \fI\-lrt\fP) .SH СИНТАКСИС \fB#include \fP .nf .PP \fBint clock_getcpuclockid(pid_t \fP\fIpid\fP\fB, clockid_t *\fP\fIclockid\fP\fB);\fP .fi .PP .ad l .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBclock_getcpuclockid\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ The \fBclock_getcpuclockid\fP() function obtains the ID of the CPU\-time clock of the process whose ID is \fIpid\fP, and returns it in the location pointed to by \fIclockid\fP. If \fIpid\fP is zero, then the clock ID of the CPU\-time clock of the calling process is returned. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении \fBclock_getcpuclockid\fP() возвращает 0; при ошибке возвращается одно из положительных значений ошибки, перечисленных в разделе ОШИБКИ. .SH ОШИБКИ .TP \fBENOSYS\fP Ядро не поддерживает возврат процессорных часов другого процесса и значение \fIpid\fP не указывает на вызывающий процесс. .TP \fBEPERM\fP Вызывающий не имеет прав доступа к процессорным часам процесса, указанного в \fIpid\fP (определено в POSIX.1\-2001; не возникает в Linux, если ядро не собрано с поддержкой получения процессорных часов процесса, отличного от вызывающего). .TP \fBESRCH\fP Процесс с идентификатором \fIpid\fP не найден. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBclock_getcpuclockid\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.2. POSIX.1\-2001. .SH ЗАМЕЧАНИЯ Вызов \fBclock_gettime\fP(2) с ID часов, полученных от вызова \fBclock_getcpuclockid\fP() с \fIpid\fP равным 0, делает то же, что и с ID часов, равным \fBCLOCK_PROCESS_CPUTIME_ID\fP. .SH ПРИМЕРЫ Представленный ниже пример программы возвращает ID процессорных часов процесса, чей ID указан в командной строке, а затем используется \fBclock_gettime\fP(2) для получения времени этих часов. Пример запуска: .PP .in +4n .EX $\fB ./a.out 1\fP # показать процессорные часы процесса init Процессорные часы для PID 1 показывают 2.213466748 секунд .EE .in .SS "Исходный код программы" .\" SRC BEGIN (clock_getcpuclockid.c) \& .EX #define _XOPEN_SOURCE 600 #include #include #include #include #include \& int main(int argc, char *argv[]) { clockid_t clockid; struct timespec ts; \& if (argc != 2) { fprintf(stderr, "%s \en", 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("CPU\-time clock for PID %s is %jd.%09ld seconds\en", argv[1], (intmax_t) ts.tv_sec, ts.tv_nsec); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "СМ. ТАКЖЕ" \fBclock_getres\fP(2), \fBtimer_create\fP(2), \fBpthread_getcpuclockid\fP(3), \fBtime\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , Katrin Kutepova , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .