On Sat, 13 Oct 2012 23:13:31 +0300
Timur Aydin <t...@taydin.org> wrote:

> On 10/13/12 19:15, Canek Peláez Valdés wrote:
> > We can only know seeing the code. Timur, this is the little test I
> > made which creates 5 threads and runs them for 1 minute. In my case,
> > `ps x` shows only 1 PID, care to give it a try?
> 
> I have re-read all messages and I noticed Canek writing about the 'ps
> x' output. I was using htop to watch what's happening. When I used
> 'ps x', I indeed saw just a single process. Looked around google for
> the difference between the two, and sure enough, htop by default
> shows all threads in a process, but ps does not. You have to supply
> special flags to ps to have it show the threads.
> 
> So I started focusing on the pid's that htop is showing for my simple
> app's threads. When I try to locate them under /proc/<...>, they don't
> exist. Further search in google and indeed, the pid's shown for
> threads aren't really "process id's" in the traditional sense and
> there is no folder under /proc for them. My app has pid 12397 and one
> of the threads has pid 12404. To look up the thread pid, one needs to
> look under /proc/12397/task/12404.
> 
> So, mystery (for me) solved. Thanks for all the replies!
> 

Yes, you got it. When htop claims it's showing PIDs, it's actually
lying; in fact it's showing the TIDs (thread ids), and they're
different even for multiple threads within the same thread group. (For
processes with just a single thread however, TID and PID are equal)

Regards,
aranea

Attachment: signature.asc
Description: PGP signature

Reply via email to