Is there a way to find out the directory/disk location a process was started from? I am aware of the /proc mount but not really where to look inside of it.
/proc way would be to inspect the
exe link in the directory corresponding to the pid.
Let's take an example with
Find the pid, which is 15421 in this example:
egil@gud:~$ ps x | grep update-notifier 2405 pts/4 S+ 0:00 grep update-notifier 15421 ? Sl 0:00 update-notifier
Look up the symbolic link:
egil@gud:~$ file /proc/15421/exe /proc/15421/exe: symbolic link to `/usr/bin/update-notifier'
which is what you are looking for. For instance, on my system
Providing you've a process ID available, you can use:
readlink -f /proc/$pid/exe
$pid by the process ID of a process)
If the process is not owned by you, you'll have to put
sudo in front of it.
An example for determining the location of the command
The output of
ps ax -o pid,cmd | grep firefox:
22831 grep --color=auto firefox 28179 /usr/lib/firefox-4.0.1/firefox-bin
28179is the process ID, so you've to run:
readlink -f /proc/28179/exe