Re: kqueue EVFILT_PROC and child process pid
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com There's popen of ps, which is much preferred to sysctl. -- Terry On Oct 11, 2009, at 1:01 PM, Dave Keck <dave@docdave.com> wrote: kevents are perfectly capable of monitoring another, unrelated process. It's become quite a hobby of mine, actually. :) As far as getting the the new child's PID, I don't think it's possible using the kevent APIs from userland. (sys/event.h mentions "lower bits contain the PID of the child", but I think this is kernel-only.) Of course you could always iterate over the process list checking each process' parent PID... there's probably a better way, though. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... Other than that, we're not going to alert you on new process creation other than by return code if you are the creator, and at some point we might even take steps to make it hard for you to do so, like randomizing pids. You cannot watch for all processes, only processes you created. After you fork, you can add a kqueue to watch for the new process' death, in lieu of waitpid() or a SIGCHLD signal. You cannot however sit there, watching for any random process' death. Mac OS X has no such mechanism, AFAIK. This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert