On 05/09, Mike Frysinger wrote: > > On Wednesday 09 May 2012 16:12:19 Oleg Nesterov wrote: > > On 05/09, Pedro Alves wrote: > > > On 05/09/2012 04:09 PM, Mike Frysinger wrote: > > > > probably not that big of a deal, but the reason i like using > > > > ptrace(PTRACE_KILL) over a raw kill() is that you are less likely to > > > > kill the wrong process by accident. maybe not that big of a deal in > > > > practice though. > > > > > > And you can do tgkill instead. It was specifically invented to handle > > > the reuse case. > > > > tgkill() can kill the wrong process/thread too, although it lessens the > > risk. > > > > But I don't really understand the problem. The traced thread can't go away > > until the tracer does wait/detach, and thus its pid can't be reused? > > or the process has received a SIGKILL for some reason And? In this case it will be killed, yes. But this zombie can't go away until the tracer does do_wait(). OK, the multi-threaded exec adds more fun. > > May be, "by accident" above means something else, not pid reuse... > > i like to assume that my code isn't going to be bug free, so the more > mechanisms i have in place to protect innocent bystanders the better :) > -mike >From this pov PTRACE_KILL is safer, I agree ;) Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html