Aqcuiring full path to running process from outside the kernel
Dag-Erling Smørgrav
des at des.no
Tue Aug 22 12:04:43 UTC 2006
Mike Meyer <mwm at mired.org> writes:
> In <86sljqnzbz.fsf at xps.des.no>, Dag-Erling Smørgrav <des at des.no> typed:
> > You got it the wrong way around. First pass argv[0] to realpath(3),
> > fall back to using $PATH only if realpath(3) fails (which it shouldn't
> > unless you've called chdir(2), chroot(2) or jail(2) earlier in the
> > process, or the executable was moved or removed)
> No, I got it the right way 'round. If the shell walks the PATH, then
> calling realpath(3) on argv[0] is the wrong thing to do, as it'll
> resolve the path relative to the pwd.
but argv[0] is either an absolute path or a path relative to pwd,
unless your shell is broken.
des at xps ~% cat >bin/foo
#!/bin/sh
echo $0 $@
des at xps ~% chmod a+rx bin/foo
des at xps ~% ./bin/foo
./bin/foo
des at xps ~% foo
/home/des/bin/foo
DES
--
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-hackers
mailing list