This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: How to understand the pid() and new_pid are same value in executing forktracker.stp?
- From: Josh Stone <jistone at redhat dot com>
- To: Nan Xiao <xiaonan830818 at gmail dot com>, systemtap at sourceware dot org
- Date: Thu, 22 Oct 2015 17:43:13 -0700
- Subject: Re: How to understand the pid() and new_pid are same value in executing forktracker.stp?
- Authentication-results: sourceware.org; auth=none
- References: <CA+MhoaM4a=mNdmz4m7pHi9s4SkqhXhV5S8V4cUZT+rAXFasRAQ at mail dot gmail dot com>
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.