Does exist any _real_ reason why getrusage can't be invoked by a task to know statistics of another task ? The changes would be very trivial, as shown by the following patch. Claudio diff --git a/kernel/sys.c b/kernel/sys.c --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1746,9 +1746,13 @@ int getrusage(struct task_struct *p, int asmlinkage long sys_getrusage(int who, struct rusage __user *ru) { - if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN) - return -EINVAL; - return getrusage(current, who, ru); + if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN) { + struct task_struct* tsk = find_task_by_pid(who); + if (tsk == NULL) + return -EINVAL; + return getrusage(tsk, RUSAGE_SELF, ru); + } else + return getrusage(current, who, ru); } asmlinkage long sys_umask(int mask) -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/