获取Linux内核中另一个进程的每进程CPU时间时钟
Posted
技术标签:
【中文标题】获取Linux内核中另一个进程的每进程CPU时间时钟【英文标题】:Obtaining the per-process CPU-time clock of another process in Linux kernel 【发布时间】:2013-08-28 06:30:11 【问题描述】:如何查看linux内核是否支持获取另一个进程的per-process CPU-time clock?
详细说明:
clock_getcpuclockid() 如果调用者无权访问pid指定的进程的CPU时间时钟,则返回EPERM错误。 (在 POSIX.1-2001 中指定为可选错误;在 Linux 上不会发生,除非内核不支持获取另一个进程的每进程 CPU 时间时钟。)
那么,我的问题是如何检查linux内核是否支持获取另一个进程的每进程CPU时间时钟?换句话说,我怎样才能让clock_getcpuclockid() 失败并返回值EPERM?
【问题讨论】:
【参考方案1】:如果clock_getcpuclockid()
成功,Linux 内核将支持这一点。
【讨论】:
是的,我知道,但如果我想禁用支持,我该怎么做。换句话说,我怎样才能让clock_getcpuclockid() 失败并返回值EPERM? 这不是你在问题中问的;不改变内核是不可能的。以上是关于获取Linux内核中另一个进程的每进程CPU时间时钟的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核进程管理 ( 进程状态 | 进程创建 | 进程终止 | 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 )