Detecting threads vs processes with ps or /proc

Nick LeRoy (nleroy@cs.wisc.edu)
Fri, 6 Dec 2002 09:24:02 -0600


Hello, all.

already, but I'm going to post it anyway.

Our software (Condor) and some related software (Globus) is running on a
number of systems around the world. Condor attempts to monitor the RAM usage
of it's "user" (maybe "client" is a better word here) processes. If the
client forks, we need to monitor the client and all of it's children, which
really isn't difficult. The _problem_ is that if the client creates threads,
it's impossible, from what we can tell, to tell the difference between
separate threads and processes.

So my question, I guess, is this. How can you tell, from user space, whether
a group of processes are related as threads or through a "normal" child /
parent relationship? The systems that we're running on currently are 2.2.19
and 2.4.18/19.

changing to a more POSIX friendly model, which will effect this answer, but
we're not running 2.5 and really can't force such an upgrade -- hell, right
now we're having problems getting a switch from 2.2 pushed through.

Thanks _very_ much in advance. I'd be tickled pink if the answer is something
like "just look at the foo flag in ps", or "upgrade to version 1.2.3.4 of
procps and do xyzzy", but my intuition tells me otherwise.

Thanks,

-Nick

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/