我如何知道进程被调用的位置

我如何知道进程被调用的位置

我在不同的文件夹中运行相同脚本的不同配置(通过严格克隆),我想知道是否可以从外部终端知道哪个是正在运行的进程的源文件夹?

IE

  • 我从 3 个文件夹运行 python 脚本:pyjournal1/source/script.py、、pyjournal2/source/script.pypyjournal3/source/script.py
  • 我看着htop,它们看起来都一样“ python3 script.py”,但我认不出是哪一个。
  • realpathreadlink正如你所知,of给了我Python的路径,而不是“调用文件夹”的路径

任何想法 ?

非常感谢,爱德华

答案1

首先获取进程的PID:

$ pgrep <proccess>

然后你可以使用 pwdx :

$ pwdx <PID>

/proc方式将检查exe与 pid 对应的目录中的链接。

让我们举个例子update-notifier

找到pid,即15421在这个例子中:

egil@gud:~$ ps x | grep update-notifier
 2405 pts/4    S+     0:00 grep update-notifier
15421 ?        Sl     0:00 update-notifier

查找符号链接:

egil@gud:~$ file /proc/15421/exe
/proc/15421/exe: symbolic link to `/usr/bin/update-notifier'

致谢:https://askubuntu.com/a/49030/680673

相关内容