l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 7: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2004 Aug 27 11:16

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Identifying the directory that contains the currentlyrunning executable?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Identifying the directory that contains the currentlyrunning executable?



On Fri, Aug 27, 2004 at 10:30:56AM -0700, Bill Kendrick wrote:
> On Fri, Aug 27, 2004 at 10:28:27AM -0700, Ken Bloom wrote:
> > Is there a way to identify the directory that contains the currently
> > running executable, so that I can programmatically refer to it?
> > i.e. if I am running /usr/bin/myprog, but pwd is /home/bloom, how can
> > I programmatically get either the pathname '/usr/bin' or
> > '/usr/bin/myprog'. (This question asks about a C program).
> 
> Not sure programmatically, but /proc/$PID/exe is a symlink to the 
> program.
> 
> For example, I did "ps aux | grep mysql", found the PID of my
> MySQL client was "4753", and then saw:
> 
>   lrwx------    1 username username      0 Aug 27 10:29 exe -> /usr/bin/mysql
> 
> inside "/proc/4753/"
>
> Does that help at all? :)

I guess that solves the C program problem, because I can use getpid()
to fill in the blank, and readlink(2) to find the elf executable.

That is one wierd symlink. ME wrote in May
(http://www.lugod.org/mailinglists/archives/vox-tech/2004-05/msg00247.html)
about deleting the executable file, then recovering it from
/proc/$PID/exe, so I had assumed it wasn't a symlink. Looking at it
harder, symlinks can't usually point to deleted files [1], but this one
can! You can recover the exe with cat, but not with cp. Really wierd.

Still curious about how to do it with bash scripts.

--Ken Bloom
[1] In the sense that you can use the deleted file through the
symlink. Ordinary symlinks can point at deleted files in a different
sense -- the sense that the symlink is broken.

-- 
I usually have a GPG digital signature included as an attachment.
See http://www.gnupg.org/ for info about these digital signatures.
My key was last signed 08/18/2004. If you use GPG *please* see me about 
signing the key. ***** My computer can't give you viruses by email. ***

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech


LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
EDGE Tech Corp.
For donating some give-aways for our meetings.