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