繁体   English   中英

Python多处理过程PID与实际PID不同

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM