Path to executable of current process?
    Michael B Allen 
    ioplex at gmail.com
       
    Fri Jul 20 03:23:47 UTC 2007
    
    
  
> Is there any way to get argv[0] for [a particular] process without being root?
After more digging I see sysctl seems to be the way to do this but can I get
the full path to the executable form kinfo_proc?
How does ps do this?
static const char *
getcmdline(pid_t pid)
{
    static struct kinfo_proc ki_proc;
    int mib[4], len;
    mib[0] = CTL_KERN;
    mib[1] = KERN_PROC;
    mib[2] = KERN_PROC_PID;
    mib[3] = pid;
    len = sizeof(struct kinfo_proc);
    if (sysctl(mib, 4, &ki_proc, &len, NULL, 0) == -1)
        return NULL;
    return ki_proc.ki_???
}
Mike
    
    
More information about the freebsd-hackers
mailing list