2015-12-02 89 views
0

我正在试图在内核空间或用户空间中获取给定进程的运行时。 反正这里是我想做...内核空间中的进程运行时

//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 

为什么输出为零?

回答

2

我们会得到task->utimetask->stime流程运行等

检查功能account_process_tick()source

你提到的那个,例如task->cputime_expires用于系统调用以支持POSIX每进程计时器。