
1 DarkCat123 2020-11-14 16:46:03 +08:00 lsof 或者 ls /proc ? |
2 leon0318 OP @DarkCat123 试过了,还是没找到~~老哥能具体指点下吗? |
3 zerofiny 2020-11-14 17:13:21 +08:00 via Android readlink /proc/pid/exe |
4 DarkCat123 2020-11-14 17:23:12 +08:00 |
5 zooo 2020-11-14 19:54:12 +08:00 提供个思路:在 python 中执行系统 shell which python 查看下下 python 执行路径,不同 python 保存的路径不同 |
6 zach14c 2020-11-14 20:13:49 +08:00 |
7 DoctorCat 2020-11-14 21:22:17 +08:00 |
8 leon0318 OP @DoctorCat 是这样的,目前服务器上 python venv 环境比较多,接手了别人的 python 项目,想快速确定是哪个 venv 启动的,查看一些依赖版本之类的~~ |
9 leon0318 OP @hasdream 查看了下,这种方式获取的都是宿主机的 python 路径,也就是创建各种 venv 的 python 路径,不同 venv 环境启动的应用,exe 都是一样的 |
12 leon0318 OP @DoctorCat 试验了下上述的方法,不知是不是我理解有问题,似乎不太可行。激活不同 venv 环境,print(sys.base_exec_prefix)都是一样的结果 |
13 zach14c 2020-11-14 23:02:01 +08:00 ~ source p3-2/bin/activate; echo -e "import sys\nprint(sys.exec_prefix)" | python;deactivate; /home/zach/p3-2 ~ source myp3/bin/activate; echo -e "import sys\nprint(sys.exec_prefix)" | python;deactivate; /home/zach/myp3 |
14 zerofiny 2020-11-15 00:26:34 +08:00 via Android strings /proc/pid/environ 看这个进程的环境变量 应该有这个进程是那个虚拟环境的 |
15 kkbblzq 2020-11-15 01:25:40 +08:00 用 sys.executable 完事 |
16 frostming 2020-11-15 08:17:28 +08:00 ls -l /proc/<pid>/cmd |
20 ClericPy 2020-11-15 11:07:22 +08:00 虽然你已经解决了, 顺嘴一提 psutil 的 cmdline 不知道能不能帮到你, 先通过 pid 拿到 Process 对象, 然后看它启动时候命令行参数里面的路径 |