In the last episode (Jul 20), Joe Marcus Clarke said: > What is the canonical way for a userland application to get the > fully-qualified path of an executable from its running PID? I know I > can do a readlink(2) on /proc/pid/file, but procfs is deprecated on > 5.X, correct? Is there a more appropriate way to do this? Thanks.
realpath(argv[0]) works for commands not run from $PATH. Commands found through a PATH earch will just have the basename in argv[0] so you would have to check each PATH element until you found it. Note that /proc/pid/file won't work if vn_fullpath() fails (say the orignal file has been unlinked, or the filename has expired from the kernel's cache). If you are examining another process, you can use the kvm_getargv() and kvm_getenvv() functions to fetch argv[0] and PATH out of the target process. -- Dan Nelson [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"