《linux下查看进程的完整路径》由会员分享,可在线阅读,更多相关《linux下查看进程的完整路径(3页珍藏版)》请在金锄头文库上搜索。
1、linux 下查看进程的完整路径当我们查看系统正在运行的进程时,有时候我们想查看以下进程的详细信息,包括绝对路径,这个时候 ps 的不足指出就显露出来了,而强大的 top 也只能查看到进程名而已。这个时候怎么办呢?个人理解,在 linux 启动一个进程时,会给进程分配一个 ID,就是我们的 PID,而与此同时了,系统会在/proc 下创建一个文件夹,以 PID 命名,在该文件夹下会有我们的进程的信息,其中包括一个名为 exe 的文件,这就我们想要的,就像win 下的 exe 文件,它是原始程序的一个链接,所以当我们用 ls -l 的时候就能够得到我们的完整路径! $ toptop - 11:3
2、7:41 up 51 min, 4 users, load average: 0.62, 0.80, 0.77Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombieCpu(s): 8.6%us, 2.3%sy, 0.0%ni, 87.0%id, 2.1%wa, 0.0%hi, 0.0%si, 0.0%stMem: 2026800k total, 1948128k used, 78672k free, 565720k buffersSwap: 261112k total, 0k used, 261112k free, 9227
3、32k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1709 ubuntu 20 0 408m 145m 32m S 10 7.4 5:43.69 firefox-bin1049 root 20 0 94368 34m 13m S 5 1.7 2:04.41 Xorg1747 ubuntu 20 0 228m 68m 19m S 5 3.5 2:35.79 plugin-containe1536 ubuntu 20 0 85264 28m 9184 S 2 1.4 0:21.85 compiz1640 ubuntu 20
4、 0 59260 18m 13m S 1 1.0 0:09.05 gnome-terminal9 root 20 0 0 0 0 S 0 0.0 0:00.03 events/01051 mysql 20 0 142m 18m 5856 S 0 0.9 0:00.90 mysqld3101 ubuntu 20 0 2548 1224 924 R 0 0.1 0:00.03 top1 root 20 0 2780 1704 1228 S 0 0.1 0:00.37 init2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd3 root RT 0 0 0 0 S
5、0 0.0 0:00.00 migration/0$ cd /proc/1709/proc/1709$ lsattr cpuset io mountinfo pagemap smaps taskauxv cwd latency mounts personality stack wchancgroup environ limits mountstats root statclear_refs exe loginuid net sched statmcmdline fd maps oom_adj schedstat statuscoredump_filter fdinfo mem oom_scor
6、e sessionid syscall/proc/1709$ ls -l exelrwxrwxrwx 1 ubuntu ubuntu 0 2011-08-13 11:13 exe - /usr/lib/firefox-3.6.18/firefox-bin-cwd 符号链接的就是进程 22401 的运行目录;exe 符号连接就是执行程序的绝对路径;cmdline 就是程序运行时输入的命令行命令;本例为:。/cbscpu 记录了进程可能运行在其上的 cpu;显示虚拟的 cpu 信息environ 记录了进程运行时的环境变量fd 目录下是进程打开或使用的文件的符号连接。.通过 cwd 直接进入进程运行目录,通过查看相关信息就可以定位此目录对应那个端口号,以及定位是那个应用才使用此服务程序。这样就获得了 Linux 进程文件路径了。