在某处搜索后终于没有得到我想要的。
我正在一些带有 linux 系统的嵌入式板卡上工作。许多用户通过 telnet
访问它。所以每个用户都假设在某处复制一些二进制文件并像 ./binary
一样执行。所以我可以看到这个进程通过简单的 ps
命令运行,但我不知道它从哪里运行。
某处发现,使用 which
命令,但根据我的理解(如果我没有错) which
命令只查找该二进制文件的路径,无论它当前是否正在执行。
如果多个用户在不同的路径复制相同的二进制文件怎么办?
还查看了另一种使用 readlink
的解决方案,但我的目标板支持的 busybox binary
有限。所以 readlink
不存在。
另一种解决方案,如file /proc/"proess id"/exe
但这里不存在 file
命令,因为我的板上的客户 linux 只包含有限的功能和二进制文件。
那么还有其他解决方案吗?
最佳答案
尝试 ls -l /proc/"proess id"/exe
。来自 GNU coreutils 的 ls
实用程序显示了带有 -l
选项的链接,但我没有关于 ls
的 busybox
的确切信息。
关于linux - 如何从当前运行的二进制文件中找到路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22785159/