How to understand the pid() and new_pid are same value in executing forktracker.stp?
Josh Stone
jistone@redhat.com
Fri Oct 23 00:43:00 GMT 2015
On 10/22/2015 05:15 PM, Nan Xiao wrote:
> Hi guys,
>
> Greetings from me!
>
> I am using forktracker.stp(https://sourceware.org/systemtap/examples/process/forktracker.stp)
> script to track fork process, but the output likes this:
>
> ......
> Thu Oct 22 05:09:42 2015 : virt-manager (8713) created 8713
> Thu Oct 22 05:09:42 2015 : virt-manager (8713) created 8713
> Thu Oct 22 05:09:42 2015 : virt-manager (8713) created 8713
> Thu Oct 22 05:09:43 2015 : virt-manager (8713) created 8713
> ......
>
>
> I can't understand why pid() and new_pid are same. I also submit a
> issue on SO (http://stackoverflow.com/questions/33274128/how-to-understand-the-pid-and-new-pid-are-same-value-in-executing-forktracker),
> but until now, no one answer this issue.
>
> Could anyone help on this issue? Thanks very much in advance!
Most likely these are new threads in the same process, so the pids will
match while the tids are different. We probably should add tids to that
example script.
Note that we use the POSIX terminology with pid=process and tid=thread,
versus the kernel with pid=task-id and tgid=thread-group-id. Every user
thread has a task, and a thread group is roughly a user process.
More information about the Systemtap
mailing list