<br><br><div class="gmail_quote">On Thu, May 5, 2011 at 7:59 PM, Dave Hylands <span dir="ltr">&lt;<a href="mailto:dhylands@gmail.com">dhylands@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<div class="im"><br>
On Thu, May 5, 2011 at 1:42 AM, conn intel &lt;<a href="mailto:connintel@gmail.com">connintel@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; I found the issue:<br>
&gt;<br>
&gt; one has to pass arguments to pid_task as: pid_task(find_get_pid(&lt;pid found<br>
&gt; using sys_getpid in userspace&gt;) , PIDTYPE_PID);<br>
&gt;<br>
&gt; I am trying to understand how the pid value using find_get_pid function<br>
&gt; differs from the pid found in the userspace. It seems that they are<br>
&gt; different and due to that kernel get exception.<br>
<br>
</div>In the kernel, the pid is like a thread-id and the tgid is the process id.<br>
<br>
In user space, the ps command shows the tgid. The /proc table also<br>
shows the tgid. You can see all of the pids associated with a process<br>
by looking at /proc/999/task/888<br>
<br>
Replace 999 with tthe tgid and 888 with the pid.<br>
<br>
ls -1 -d /proc/*/task/*<br>
<br>
will show all of the threads running in the system<br>
<br>
ls -1 -d /proc/*<br>
<br>
will show all of the processes running in the system (which is what ps shows).<br>
<br></blockquote></div>Thank you.<br>