内核空间中的进程运行时
问题描述:
我正在试图在内核空间或用户空间中获取给定进程的运行时。 反正这里是我想做...内核空间中的进程运行时
//suppose struct task_struct *task has a direct link to pid 1
cputime_t ktime = task->cputime_expires.stime;
cputime_t utime = task->cputime_expires.utime;
cputime_t total = ktime + utime;
printk(KERN_INFO "TOTAL [%lu]",total); // 0
为什么输出为零?
答
我们会得到task->utime
,task->stime
流程运行等
检查功能account_process_tick()
source。
你提到的那个,例如task->cputime_expires
用于系统调用以支持POSIX每进程计时器。