启动进程后,如何在子进程中获取父进程的PID?

2024-04-26 09:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我通过Popen()启动一个新的进程,它工作得很好。现在在子进程中,我想找到父进程的进程ID

实现这一点的最佳方法是什么,也许我可以通过Popen构造函数传递PID,但是如何传递呢?还是有更好的办法?

注:如果可能的话,我更喜欢只使用标准库的解决方案。


Tags: 方法id标准进程解决方案pidpopen办法
3条回答

ppid()是进程的成员方法,而不是变量,因此需要更改以上内容以包含括号。

来源:psutil documentation

您可以使用^{}

os.getppid()

Return the parent’s process id.

注意:这只适用于Unix,而不适用于Windows。在Windows上,可以在父进程中使用^{},并将pid作为参数传递给以Popen开头的进程。

Python 3.2中添加了对^{}的Windows支持。

使用psutilhere

import psutil, os
psutil.Process(os.getpid()).ppid()

适用于Unix和Windows(即使此平台上不存在os.getppid()

相关问题 更多 >