clock_getcpuclockid 子例程

用途

访问进程 CPU 时间时钟。

语法

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

描述

clock_getcpuclockid 子例程返回由 pid指定的进程的 CPU 时间时钟的时钟标识。 如果 pid 描述的进程存在并且调用进程具有许可权,那么此时钟的时钟标识将以 clock_id返回。

如果 pid 为零,那么 clock_getcpuclockid 子例程返回在发出调用的进程的 CPU 时间时钟的 clock_id 中指定的时钟标识。

要获取其他进程的 CPU 时间时钟标识,调用进程应该是 root 或具有与拥有目标 CPU 时间时钟的进程相同的有效或实际用户标识。

参数

描述
时钟标识 指定 CPU 时间时钟的时钟标识。
pid 指定 CPU 时间时钟的进程标识。

返回值

成功完成时, clock_getcpuclockid 子例程返回 0; 否则,将返回指示错误的错误代码。

错误代码

描述
ENOTSUP 此函数不受 checkpoint-restart 进程支持。
EPERM 请求进程无权访问进程的 CPU 时间时钟。
ESRCH 找不到与 pid指定的进程相对应的进程。