Discuss / Python / 子进程代码异常

子进程代码异常

Topic source

赵彬RobinZ

#1 Created at ... [Delete] [Delete and Lock User]
from multiprocessing import Process
import os

# 子进程要执行的代码
def run_proc(name):
    print('Run child process %s (%s)...' % (name, os.getpid()))

if __name__=='__main__':
    print('Parent process %s.' % os.getpid())
    p = Process(target=run_proc, args=('afe',))
    print('Child process will start.')
    p.start()
    p.join()
    print('Child process end.')

按照廖老师代码运行,结果显示是

Parent process 4036.
Child process will start.
Child process end.

并未显示子进程运行,这是为何? Window系统 python3.4.3

在此插入代码
获取子进程的id os.getppid()  两个p
def run_proc(name):
    print('Run child process %s (%s)...' % (name, os.getppid()))

getppid()(两个p)是子进程获取父进程ID的方法,楼上概念弄错了, getpid()(一个p)才是获取当前进程的ID

系统 WIN7 64位

用winpython 64位的时候,会在IPYTHON CONSOLE 显示

Parent process 13532.
Child process will start.
Child process end.

而在KERNEL的CONSOLE里显示

Run child process test (16612)...

用PYCHARM则会显示

Parent process 15616.
Child process will start.
Run child process test (11980)...
Child process end.

  • 1

Reply