我正在尝试获取我想要的进程的 ppid
。
我使用下面的代码来获取pid
proc=subprocess.Popen('ps -ae | grep ruby', shell=True, stdout=subprocess.PIPE, )
output=proc.communicate()[0]
str = output.split()
现在在 str[0]
中,我有进程的 pid 说 ruby,我想得到父进程 ID ppid
和子进程 ID相同的过程。
我需要此解决方案在 Solaris 以及 Red Hat Enterprise Linux
6.0 上运行
有什么方法可以像 getppid()
和 getchildid()
那样获取吗?还是需要再次通过grep
命令进行拆分?
最佳答案
使用此代码是个坏主意。您的代码不适用于 solaris。 您可以使用“psutil”库,这样您就可以使代码独立于操作系统。 https://github.com/giampaolo/psutil
p = psutil.Process(7055)
parent_pid = p.ppid()
关于python - 在 Python 中从进程 ID 获取父进程和子进程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291233/