On Thu, Oct 22, 2009 at 11:31 AM, Leonidas . <leonidas137@xxxxxxxxx> wrote: > On Thu, Oct 22, 2009 at 2:17 AM, Bob Beers <bob.beers@xxxxxxxxx> wrote: >> On Wed, Oct 21, 2009 at 3:07 PM, Leonidas . <leonidas137@xxxxxxxxx> wrote: >>> On Thu, Oct 22, 2009 at 12:26 AM, Leonidas . <leonidas137@xxxxxxxxx> wrote: >>>> What would be an ideal way to check if a process/thread is running or sleeping >>>> or it is dead from kernel space? >>>> >>>> Basically, check whether a process is alive, then determine its status. >>>> >>>> -Leo. >>>> >>> >>> E.g. My module wants to do some cleanup after a thread exits after calling >>> pthread_exit(). The only way my module can know about it by looking in to list >>> of processes but this is not a foolproof since the pid can be recycled. >>> >>> >>> -Leo. >>> >> >> Hi Leo, >> >> I never did this, but I found it on the internets, so it must be ok ... >> >> <quote> >> task_t *p; >> read_lock(&tasklist_lock); >> for_each_process(p) { >> if ( strcmp (p->comm, $your-daemon-name) == 0) >> break; >> } >> read_unlock(&tasklist_lock); >> >> sounds not a good idea. Smile >> </quote> >> >> But, maybe it gives you some ideas? >> >> -bob >> > > > Hi Bob, > > Actaully, I was thinking about something on these lines, like you, I > was not very convinced with > this though. Can you fwd me the link? > > -Leo. > I guess the problem will be much easier if know a mechanism to uniquely identify an user space entity in kernel. I.e. as pids can be recycled, we will need to know a set of parameters which describe a process uniquely no matter whether the process is alive or dead. I.e. something like pid + name + ?? + ?? -Leo. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ