通過(guò)Linux進(jìn)程id找到程序路徑的三種方法
在 Linux 中,最直接、最可靠的方法是利用 /proc 文件系統(tǒng)。
假設(shè)你的進(jìn)程 ID (PID) 是 12345,你可以使用以下幾種方式:
方法一:最直觀的方法 (ls)
Linux 的每個(gè)進(jìn)程在 /proc 目錄下都有一個(gè)對(duì)應(yīng)的文件夾。exe 是一個(gè)符號(hào)鏈接,指向?qū)嶋H的二進(jìn)制文件路徑。
ls -l /proc/12345/exe
輸出示例:
lrwxrwxrwx 1 root root 0 Nov 26 10:00 /proc/12345/exe -> /opt/app/my_go_program
箭頭 -> 后面的 /opt/app/my_go_program 就是該程序的絕對(duì)路徑。
方法二:最干凈的方法 (readlink)
如果你只需要路徑字符串(例如用于腳本中),可以使用 readlink 命令,它只輸出目標(biāo)路徑,不包含其他信息。
readlink -f /proc/12345/exe
輸出示例:
/opt/app/my_go_program
方法三:使用pwdx(注意區(qū)別)
有時(shí)候你可能想知道程序是在哪個(gè)目錄下運(yùn)行的(工作目錄),而不是程序文件本身在哪里。這時(shí)用 pwdx:
pwdx 12345
輸出示例:
12345: /home/user/data
這表示程序雖然可能在 /usr/bin 里,但它是在 /home/user/data 目錄下被啟動(dòng)的。
特殊情況提示
Permission denied:
如果進(jìn)程屬于其他用戶(如 root),你需要加上 sudo:sudo ls -l /proc/12345/exe
顯示 (deleted):
如果你在 Go 程序運(yùn)行時(shí)覆蓋了二進(jìn)制文件(例如發(fā)布新版本時(shí)直接 cp 覆蓋),你可能會(huì)看到這樣的輸出:/opt/app/my_go_program (deleted)
這意味著內(nèi)存中運(yùn)行的進(jìn)程對(duì)應(yīng)的磁盤文件已經(jīng)被刪除了或替換了,但進(jìn)程仍在運(yùn)行舊版本的代碼。
到此這篇關(guān)于通過(guò)Linux進(jìn)程id找到程序路徑的三種方法的文章就介紹到這了,更多相關(guān)Linux進(jìn)程id找到程序路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用nginx來(lái)負(fù)載均衡 本文在window與linux下配置nginx實(shí)現(xiàn)負(fù)載
使用nginx來(lái)負(fù)載均衡,本文在window與linux下配置nginx實(shí)現(xiàn)負(fù)載2010-03-03
Linux命令之jq命令處理JSON數(shù)據(jù)方式
jq是一個(gè)強(qiáng)大的命令行JSON處理器,支持過(guò)濾、映射、轉(zhuǎn)換等操作,它可以與管道結(jié)合使用,處理復(fù)雜的JSON數(shù)據(jù),JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,支持對(duì)象、數(shù)組、字符串、數(shù)字等數(shù)據(jù)類型,jq通過(guò)命令行選項(xiàng)和過(guò)濾器來(lái)操作JSON數(shù)據(jù),提供豐富的功能和靈活的語(yǔ)法2025-11-11
apache啟用gzip壓縮的實(shí)現(xiàn)方法
對(duì)于部署在Linux服務(wù)器上的PHP程序,在服務(wù)器支持的情況下,我們建議你開啟使用Gzip Web壓縮,以前腳本之家介紹了iis中的開啟方法,這篇文章主要介紹了linux中apache的開啟方法2013-06-06
Ubuntu 20.04缺少libssl.so.1.0.0錯(cuò)誤的解決方案
在使用Ubuntu 20.04時(shí),你可能會(huì)遇到一些較老的應(yīng)用程序因缺少libssl.so.1.0.0庫(kù)而無(wú)法運(yùn)行的問(wèn)題,這是因?yàn)閁buntu 20.04默認(rèn)使用的是更新版本的OpenSSL庫(kù),本文將介紹如何快速解決這個(gè)問(wèn)題,需要的朋友可以參考下2025-11-11
ubuntu18.04和ns3.27環(huán)境下配置PyViz全過(guò)程
在Ubuntu 18.04和NS3.27環(huán)境下配置PyViz時(shí)遇到無(wú)法定位軟件包的問(wèn)題,通過(guò)增加軟件源并更新解決了問(wèn)題,然后成功安裝了交互式Python,重新編譯后PyViz被啟用2025-12-12

