【问题标题】:python multiprocessing PID change in sub-process子进程中的python多处理PID变化
【发布时间】:2018-07-16 01:33:33
【问题描述】:
import multiprocessing
import os
def run_proc(name):
    print('Run child process %s (%s)...' % (name, os.getpid()))
    counter = 0
    for i in range(0, 1):
        print("!!!weird process id: %s" % (os.getppid()))
def start():
    p = None
    for i in range(0, 1):
        p = multiprocessing.Process(target=run_proc, args=('test',))
        p.start()
if __name__ == '__main__':
    print('Parent process %s.' % os.getpid())
    start()

运行结果是: 父进程 31476。

运行子进程测试 (31488)...

!!!奇怪的进程ID:31476

我的问题是:为什么 pid 号在 for 循环中会发生变化?

【问题讨论】:

    标签: python-3.x python-multiprocessing


    【解决方案1】:

    从您的代码中可以看出,您正在调用os.getppid() ,它返回父进程 ID。您还可以注意到,您的“奇怪”进程 ID 与父进程 ID 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2021-07-16
      • 2019-12-12
      • 1970-01-01
      • 2023-04-02
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多