在某處搜索後終於沒有得到我想要的。如何從當前二進制運行的地方找到路徑?
我正在使用linux系統的一些嵌入式主板。許多用戶通過telnet
來訪問它。因此,每個用戶都假設在某處複製了一些二進制文件,並執行了如./binary
。因此,我可以看到這個過程只是通過ps
命令運行,但從它運行的位置我不知道。
某處發現,使用which
命令,但根據我的理解(如果我沒有錯)which
命令只查找該二進制文件的路徑,無論它是否正在執行。
如果多個用戶在不同路徑中複製相同的二進制文件會怎麼樣?
也看了另一個解決方案使用readlink
但我的目標板支持有限的busybox binary
。所以readlink
不在那裏。
像一個不存在的,因爲custome的Linux
file /proc/"proess id"/exe
但這裏file
命令在我的船上只包含有限的功能和二進制另一種解決方案。
那麼還有其他解決方案嗎?
您可以使用'ls -l'並在' - >'後面提取一個組件 – user3159253
要關閉投票人:它不是關於工具。我寧願關閉它作爲脫離主題,對於http://unix.stackexchange.com/ –
@ user3159253'readlink'會比解析'ls'輸出更好... – twalberg