1. 进程
# 这段代码在pycharm中可能不出结果,可以放到cmd中运行 import threading import multiprocessing import time def subTest(): print(‘This is in Process:%s thread: %s‘ % (multiprocessing.current_process(),threading.get_ident())) def test(): time.sleep(2) print(‘This is process: %s‘ % multiprocessing.current_process()) # 打印当前进程 threading.Thread(target=subTest,).start() # 在进程中启动一个线程 if __name__ == ‘__main__‘: for i in range(10): p = multiprocessing.Process(target=test,) # 生成进程 p.start()
2. 父进程
# 这段代码只有在命令行下才能正常打印出结果,在pycharm中不出结果 import threading import multiprocessing import time import os def subTest(): print(f‘ppid:{os.getppid()} , pid:{os.getpid()}‘) # 打印父进程id,和当前进程id def test(): time.sleep(2) print(‘This is process: %s‘ % multiprocessing.current_process()) # 打印当前进程 threading.Thread(target=subTest,).start() # 在进程中启动一个线程 if __name__ == ‘__main__‘: subTest() for i in range(2): p = multiprocessing.Process(target=test,) # 生成进程 p.start()
ppid:4276 , pid:9356 # ppid:4267是系统终端的进程,这里是cmd.exe,由系统终端创建出了pid:9356是当前的进程 This is process: <Process name=‘Process-2‘ parent=9356 started> # 子进程,由父进程9356创建而来 This is process: <Process name=‘Process-1‘ parent=9356 started> # 子进程,由父进程9356创建而来 ppid:9356 , pid:9648 # 子进程的线程打印的信息,可以看到父进程的id和当前进程的id ppid:9356 , pid:5288
原文:https://www.cnblogs.com/wztshine/p/11979876.html