linux 下查看進程的完整路徑

  當我們查看系統正在運行的進程時,有時候我們想查看以下進程的詳細信息,包括絕對路徑,這個時候ps的不足指出就顯露出來了,而強大的top也只能查看到進程名而已。

    這個時候怎麼辦呢?個人理解,在linux啓動一個進程時,會給進程分配一個ID,就是我們的PID,而與此同時了,系統會在/proc下創建一個文件夾,以PID命名,在該文件夾下會有我們的進程的信息,其中包括一個名爲exe的文件,這就我們想要的,就像win下的exe文件,它是原始程序的一個鏈接,所以當我們用ls  -l的時候就能夠得到我們的完整路徑!

找到某進程啓動路徑的方法是:
1.我們可以從ps命令中得到僵死進程的PID,如18283.
2.進入/proc目錄下以該PID命名的目錄中
3.輸入ls -l ,結果中 exe鏈接對應的就是可執行文件的全路經
$ ls -l /proc/18283


    $ 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 %MEM    TIME+  COMMAND

    1709 ubuntu    20   0  408m 145m  32m S   10  7.4   5:43.69 firefox-bin

    1049 root      20   0 94368  34m  13m S    5  1.7   2:04.41 Xorg

    1747 ubuntu    20   0  228m  68m  19m S    5  3.5   2:35.79 plugin-containe

    1536 ubuntu    20   0 85264  28m 9184 S    2  1.4   0:21.85 compiz

    1640 ubuntu    20   0 59260  18m  13m S    1  1.0   0:09.05 gnome-terminal

    9 root      20   0     0    0    0 S    0  0.0   0:00.03 events/0

    1051 mysql     20   0  142m  18m 5856 S    0  0.9   0:00.90 mysqld

    3101 ubuntu    20   0  2548 1224  924 R    0  0.1   0:00.03 top

    1 root      20   0  2780 1704 1228 S    0  0.1   0:00.37 init

    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd

    3 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0

    $ cd /proc/1709/

    /proc/1709$ ls

    attr             cpuset   io        mountinfo   pagemap      smaps    task

    auxv             cwd      latency   mounts      personality  stack    wchan

    cgroup           environ  limits    mountstats  root         stat

    clear_refs       exe      loginuid  net         sched        statm

    cmdline          fd       maps      oom_adj     schedstat    status

    coredump_filter  fdinfo   mem       oom_score   sessionid    syscall

    /proc/1709$ ls -l exe

    lrwxrwxrwx 1 ubuntu ubuntu 0 2011-08-13 11:13 exe -> /usr/lib/firefox-3.6.18/firefox-bin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章