python函数os.getpid可以获取当前进程的PID,
python函数os.getppid 可以获取当前进程的主进程的PPID
上代码:
import os
from multiprocessing import Process
import time
def main():
p1 = Process(target=demo1)
p2 = Process(target=demo2)
p1.start()
p2.start()
print('主进程')
print('子进程PID:', os.getpid(), '主进程PPID', os.getppid())
#p1.join()
#p2.join()
def demo1():
print('子进程1')
print('子进程PID:',os.getpid(),'主进程PPID',os.getppid())
time.sleep(200)
def demo2():
print('子进程2')
print('子进程PID:',os.getpid(),'主进程PPID',os.getppid())
time.sleep(200)
if __name__ == '__main__':
main()
执行结果:
主进程
子进程PID: 8932 主进程PPID 9128
子进程1
子进程PID: 8976 主进程PPID 8932
子进程2
子进程PID: 5840 主进程PPID 8932
查看任务管理器中的进程PID
通过对比图片可以发现开始的主进程的PPID号与pycharm的PID是一样的
子进程中的父进程的PPID是主进程的PID
主进程的PPID是pycharm的PID
由此可知pycharm是主进程的父进程,主进程又是子进程的父进程
如果是通过explorer启动的python文件,那么其父进程就是explorer.exe
子进程的PID也有相应的python进程对应
父进程创建的是子进程,每一个子进程都有一个不重复的PID,对每个子进程进行表示
子进程与父进程的资源代码是一致的
这里的子进程是由python文件创建的