![](/img/trans.png)
[英]python multiprocessing : child process terminated, but pid remains
[英]Python multiprocessing Process PID is different from actual PID
这是我的代码。 我正在尝试创建n(= 10个)进程,并试图查看他们的PIDS。 当我打印它们并验证终端中的PID时,它们是不一样的。 编辑:如果有帮助,我在Mac(优胜美地)上运行它。
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/
关于这是为什么的任何指针? (对不起,如果我错过了一些如此明显的东西。)
我在你的截图中看到两个PPID(父PID):60480和60481(最右侧)。
你确定你没有两次运行程序吗? 屏幕截图被截断,但我猜你会看到20个Python进程,如果你确实运行了两次代码。
我已经从该截图中总共计算了14个Python进程,其中最多应该有11个。
编辑:
实际上,60481的PPID是60480.所以看起来你运行这个程序一次,但是比你在这里提供的代码更早产生进程(使用Process()
)。 这很可能是您问题的根源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.