Re: Find argument passed to running process
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com To actually answer the question, look at the source code for "ps": It calls sysctl with { CTL_KERN, KERN_PROC, what, flags } (look a little higher up for what gets stuffed in those vars). From the result, it then looks at "kp[i]->kp_proc->p_comm" (saveuser function). <http://developer.apple.com/mac/library/qa/qa2001/qa1123.html> "The UNIX Programming FAQ lists a number of alternative ways to do this. Of these, the only approach that works on Mac OS X is exec'ing the ps command line tool. exec'ing ps will require parsing the tool's output and will not use system resources as efficiently as Listing 1." -- Terry _______________________________________________ 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... On Sep 1, 2009, at 9:38 PM, Stephen J. Butler wrote: On Tue, Sep 1, 2009 at 9:55 AM, Rakesh Singhal<rakesh.singhal@gmail.com
wrote:
I can find pid for any running process using code given here http://developer.apple.com/mac/library/qa/qa2001/qa1123.html. But I want to find the arguments passed to this running process, when it was launched. I checked the kinfo_proc structure but I could not find any thing related to arguments. <http://www.opensource.apple.com/source/adv_cmds/adv_cmds-119/ps.tproj/ps.c
...on the other hand, the ps method is more likely to continue to work in future versions of the OS. Also note that qa is 7 or 8 years old, based on how you read the dates. This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert