l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
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
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

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
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:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.