这是我的代码。我正在尝试创建n(= 10个)进程,并试图查看他们的PIDS。当我打印它们并验证终端中的PID时,它们是不一样的。编辑:如果有帮助的话,我在Mac(Yosemite)上运行它。
for proc in xrange(10):
worker_process = Process (name="worker_process", target=worker_code, args=(proc, tree_space, self.simulator, mgr_nms))
process_q.append(worker_process)
worker_process.start()
print worker_process.pid
我的输出:
60484
60485
60486
60487
60488
60489
60490
60491
60493
60494
终端输出(上):
(IMAGE) - > http://postimg.org/image/kkiboom6l/
关于这是为什么的任何指示? (对不起,如果我错过了一些如此明显的东西。)
答案 0 :(得分:0)
我在屏幕截图中看到两个PPID(父PID' s):60480和60481(最右侧)。
您确定没有两次运行程序吗?屏幕截图已被截断,但如果您确实运行了两次代码,我猜你会看到20个Python进程。
我已经从该截图中总共计算了14个Python进程,其中最多应该有11个。
修改强>
实际上,60481的PPID是60480.所以看起来你运行这个程序一次,但是产生的过程(使用Process()
)早于你在这里提供的代码。这很可能是您问题的根源。