Sometimes we encounter situations where you need to find the current working directory of a running process. There are several ways to get this information in a Linux machine.
Method 1:
We can get the current working directory (and more details) of a process with pid $PID, by checking the contents of /proc/$PID folder.
Example:
For a process with process ID 3551
[root@10 ~]# readlink /proc/3551/cwd
Or with more details,
[root@10 ~]# ll /proc/3551
total 0
dr-xr-xr-x 2 root root 0 Sep 2 21:15 attr
-r-------- 1 root root 0 Sep 2 21:15 auxv
-r--r--r-- 1 root root 0 Sep 2 21:05 cmdline
-rw-r--r-- 1 root root 0 Sep 2 21:15 coredump_filter
-r--r--r-- 1 root root 0 Sep 2 21:15 cpuset
lrwxrwxrwx 1 root root 0 Sep 2 21:15 cwd -> /etc/sysconfig/network-scripts
-r-------- 1 root root 0 Sep 2 21:15 environ
lrwxrwxrwx 1 root root 0 Sep 2 21:05 exe -> /sbin/dhclient
dr-x------ 2 root root 0 Sep 2 21:15 fd
dr-x------ 2 root root 0 Sep 2 21:15 fdinfo
-r--r--r-- 1 root root 0 Sep 2 21:15 io
-r--r--r-- 1 root root 0 Sep 2 21:15 limits
-rw-r--r-- 1 root root 0 Sep 2 21:15 loginuid
-r--r--r-- 1 root root 0 Sep 2 21:15 maps
-rw------- 1 root root 0 Sep 2 21:15 mem
-r--r--r-- 1 root root 0 Sep 2 21:15 mounts
-r-------- 1 root root 0 Sep 2 21:15 mountstats
-rw-r--r-- 1 root root 0 Sep 2 21:15 oom_adj
-r--r--r-- 1 root root 0 Sep 2 21:15 oom_score
lrwxrwxrwx 1 root root 0 Sep 2 21:15 root -> /
-r--r--r-- 1 root root 0 Sep 2 21:15 schedstat
-r--r--r-- 1 root root 0 Sep 2 21:15 smaps
-r--r--r-- 1 root root 0 Sep 2 21:05 stat
-r--r--r-- 1 root root 0 Sep 2 21:15 statm
-r--r--r-- 1 root root 0 Sep 2 21:12 status
dr-xr-xr-x 3 root root 0 Sep 2 21:15 task
-r--r--r-- 1 root root 0 Sep 2 21:15 wchan
Method 2:
Use pwdx command.
Example:
For a process with process ID 3551
[root@10 ~]# pwdx 3551
For a process with process ID 3551
[root@10 ~]# lsof -p 3551
dhclient 3551 root cwd DIR 253,0 4096 1769476 /etc/sysconfig/network-scripts
dhclient 3551 root rtd DIR 253,0 4096 2 /
....
No comments:
Post a Comment