clock_getcpuclockid()

Получить идентификатор часов (clock ID) для заданного процесса

Прототип:

#include <sys/types.h>
#include <time.h>
extern int clock_getcpuclockid( pid_t pid,
clockid_t *clock_id );

Аргументы:

pid
Идентификатор процесса (process ID), для которого необходимо получить clock ID.
clock_id
Указатель на объект типа clockid_t, в котором будет сохранено значение clock ID.

Библиотека:

libc

Описание:

Функция clock_getcpuclockid() возвращает значение идентификатора clock ID системных часов для процесса с идентификатором pid. Если процесс с идентификатором pid существует и вызывающий процесс имеет необходимые права, то clock ID будет записан в параметр clock_id.

Если идентификатор pid равен нулю, то в параметр clock_id будет записан clock ID вызывающего процесса

Процесс всегда обладает разрешением на получение clock ID другого процесса.

Поддерживаемые типы clock ID:

CLOCK_REALTIME
стандартные часы, определенные в POSIX. Основанные на этих часах таймеры, разбудят процессор, если он находится в режиме энергосбережения.
CLOCK_SOFTTIME
эти часы активны, когда процессор не находится в режиме энергосбережения. Например, приложение, использующее таймер на базе CLOCK_SOFTTIME для сна, не "разбудит" процессор, когда приложение должно проснуться. Это позволит процессору перейти в режим энергосбережения. Когда процессор не находится в режиме энергосбережения таймеры типа CLOCK_SOFTTIME аналогичны типу CLOCK_REALTIME.
CLOCK_MONOTONIC
эти часы всегда увеличиваются с постоянной скоростью и не могут быть отрегулированы.

Возвращаемое значение:

Ноль в случае успешного завершения, или значение ошибки.

Коды ошибок:

ESRCH
Не найден процесс с идентификатором pid.

Классификация:

POSIX 1003.1 Process CPU-Time Clocks

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

clock_getres(), clock_gettime(), ClockId(), clock_settime(), pthread_getcpuclockid(), timer_create()




Предыдущий раздел: Описание API системной библиотеки