我需要获取真正的进程ID 在生成的子级中,如我的示例中的父级所示。现在os.getpgid(0)只返回父进程ID,因为它继承了正确的。但是在父级中,子进程ID是不同的。这只是一个简单的例子,但我将在另一个程序中实现它:
#!/usr/bin/python3
import os
mypid = os.getpgid(0)
print ("My pid is %s" % mypid)
childpid = os.spawnv(os.P_NOWAIT, "./spawn2.py", ["foo", "bar"])
print ("I forked to spawn2 with pid %s" % childpid)
#!/usr/bin/python3
import os
pid = os.getpgid(0)
print ("I'm spawn2")
print ("My pid is %s" % pid)
输出看起来像这样,但我希望生成的孩子说它的pid是1658:
pi@oriondev1:~/git-repos/zguide/examples/Python $ ./spawn1.py
My pid is 1657
I forked to spawn2 with pid 1658
pi@oriondev1:~/git-repos/zguide/examples/Python $ I'm spawn2
My pid is 1657
答案 0 :(得分:1)
咄。答案是使用os.getpid()我只是困惑。为了轻推@Jasper而感到高兴。