在 *nix 中,您可以使用ps
它来查看正在运行的进程。但如果可执行文件在设备中有多个同构文件,我们就无法确定它是从哪里调用的。
这与我上一个关于该主题的问题略有不同。 如何知道正在运行的进程的绝对路径?
答案1
尝试这个:
ls -l /proc/<PID>/cwd
答案2
来自 HUB 的答案:
readlink /proc/<PID>/cwd
甚至
readlink /proc/$(pgrep <program_name>)/cwd
答案3
你无法判断进程在哪里被调用从,仅在当前是。查看cwd
(“当前工作目录”)链接,而不是exe
。
答案4
我猜这个命令应该可以工作。这是一个小的解决方法,但至少在我的计算机上有效。
对于 $(ps e PID) 中的 strlist;如果 [ ${strlist:0:4} = "PWD=" ];则 echo ${strlist:4};fi;完成