pid_task function fails to execute
Dave Hylands
dhylands at gmail.com
Thu May 5 10:29:34 EDT 2011
Hi,
On Thu, May 5, 2011 at 1:42 AM, conn intel <connintel at gmail.com> wrote:
>
> I found the issue:
>
> one has to pass arguments to pid_task as: pid_task(find_get_pid(<pid found
> using sys_getpid in userspace>) , PIDTYPE_PID);
>
> I am trying to understand how the pid value using find_get_pid function
> differs from the pid found in the userspace. It seems that they are
> different and due to that kernel get exception.
In the kernel, the pid is like a thread-id and the tgid is the process id.
In user space, the ps command shows the tgid. The /proc table also
shows the tgid. You can see all of the pids associated with a process
by looking at /proc/999/task/888
Replace 999 with tthe tgid and 888 with the pid.
ls -1 -d /proc/*/task/*
will show all of the threads running in the system
ls -1 -d /proc/*
will show all of the processes running in the system (which is what ps shows).
--
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com
More information about the Kernelnewbies
mailing list