linux怎么查看进程完整路径?

发布时间:2020-07-13编辑:脚本学堂
本文介绍了linux下查看进程的完整路径的方法,当查看系统正在运行的进程时,有时需要查看进程的详细信息,包括绝对路径,有什么好的方法?需要的朋友参考下。

linux怎么查看进程完整路径?

在linux启动一个进程时,会给进程分配一个ID,就是PID,系统还会在/proc下创建一个文件夹,以PID命名,在该文件夹下会有进程的信息;
其中包括一个名为exe的文件,这就像win下的exe文件,它是原始程序的一个链接,所以当用ls  -l时即可查看完整路径!

例如:
 

复制代码 代码示例:
$ top
top - 11:37:41 up 51 min,  4 users,  load average: 0.62, 0.80, 0.77
Tasks: 167 total,   1 running, 166 sleeping,   0 stopped,   0 zombie
Cpu(s):  8.6%us,  2.3%sy,  0.0%ni, 87.0%id,  2.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2026800k total,  1948128k used,78672k free,   565720k buffers
Swap:   261112k total,0k used,   261112k free,   922732k cached
PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND
1709 ubuntu20   0  408m 145m  32m S   10  7.4   5:43.69 firefox-bin
1049 root  20   0 94368  34m  13m S5  1.7   2:04.41 Xorg
1747 ubuntu20   0  228m  68m  19m S5  3.5   2:35.79 plugin-containe
1536 ubuntu20   0 85264  28m 9184 S2  1.4   0:21.85 compiz
1640 ubuntu20   0 59260  18m  13m S1  1.0   0:09.05 gnome-terminal
9 root  20   0 000 S0  0.0   0:00.03 events/0
1051 mysql 20   0  142m  18m 5856 S0  0.9   0:00.90 mysqld
3101 ubuntu20   0  2548 1224  924 R0  0.1   0:00.03 top
1 root  20   0  2780 1704 1228 S0  0.1   0:00.37 init
2 root  20   0 000 S0  0.0   0:00.00 kthreadd
3 root  RT   0 000 S0  0.0   0:00.00 migration/0
$ cd /proc/1709/
/proc/1709$ ls
attr cpuset   iomountinfo   pagemap  smapstask
auxv cwd  latency   mounts  personality  stackwchan
cgroup   environ  limitsmountstats  root stat
clear_refs   exe  loginuid  net schedstatm
cmdline  fd   maps  oom_adj schedstatstatus
coredump_filter  fdinfo   mem   oom_score   sessionidsyscall
/proc/1709$ ls -l exe
lrwxrwxrwx 1 ubuntu ubuntu 0 2011-08-13 11:13 exe -> /usr/lib/firefox-3.6.18/firefox-bin
-----------
 

cwd符号链接的就是进程22401的运行目录;
exe符号连接就是执行程序的绝对路径;www.jb200.com
cmdline就是程序运行时输入的命令行命令;本例为:。/cbs
cpu记录了进程可能运行在其上的cpu;显示虚拟的cpu信息
environ记录了进程运行时的环境变量
fd目录下是进程打开或使用的文件的符号连接

通过cwd直接进入进程运行目录,通过查看相关信息,即可定位此目录对应那个端口号,以及定位是那个应用才使用此服务程序。
这样就得到linux进程文件路径了。