歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 教你獲取Linux進程的執行文件路徑

教你獲取Linux進程的執行文件路徑

日期:2017/2/28 17:41:22   编辑:Linux教程
我發現的獲取linux進程的執行文件路徑的方法有如下2個:

  1、在c++代碼裡面通過函數gecpwd獲取進程當前執行文件路徑,通過日志或控制台來顯示當前進程的運行路徑。這估計是大家看到這個標題就想到的方法。

  2、直接通過shell來查看,這也是我在實際情況中碰到的情況:

  就是我們開發的系統,控制了在同一個路徑下只能夠運行一次,在實際部署環境過程中會在不同的路徑下提供不同的tcp端口號給不同的應用來測試聯調,這樣,在以./cmd的形式運行多個程序後,會出現通過ps查看進程時,看到n多的./cmd的同名進程在運行。一旦那個應用出現問題或者時間久了後,需要查找對應目錄時,不能夠迅速定位那個進程是運行在那個具體的位置以及為誰服務。具體做法就是:

1、以超級用戶登陸

2、進入/proc目錄

3、ps查看所有符合./cmd的進程,找出其對應的進程號

4、用ll命令: ll 進程號

如下顯示一個示例:

[root@Cluster1 proc]# ll 22401

total 0
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cmdline
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cpu
lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 cwd -> /home/zhouys/sbs/bin
-r-------- 1 zhouys zhouys 0 Dec 11 11:10 environ
lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 exe -> /home/zhouys/sbs/bin/cbs (deleted)
dr-x------ 2 zhouys zhouys 0 Dec 11 11:10 fd
-r-------- 1 zhouys zhouys 0 Dec 11 11:10 maps
-rw------- 1 zhouys zhouys 0 Dec 11 11:10 mem
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 mounts
lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 root -> /
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 stat
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 statm
-r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 status

  /proc文件系統下的 進程號目錄 下面的文件鏡像了進程的當前運行信息,從中可以看到:
Copyright © Linux教程網 All Rights Reserved