os.fork() 创建子进程

查看代码

zds@ubuntu:~$ nl a.py 
     1  import os, time
       
     2  print('当前进程ID:', os.getpid())
     3  print('-------------')
       
     4  # 第 6 行创建了一个子进程,现在就是俩进程
     5  # 俩进程同时执行 6 行下面的语句块
     6  os.fork()
       
     7  # 父进程和子进程分别执行到这里又各自产生一个子进程
        # 以上 4 个进程都是并发的,没有先后之分
     8  # i 就是 os.fork() 的返回值,它是当前进程的子进程 ID
        # 如果没有子进程,返回 0
     9  i = os.fork()
       
    10  if i is 0:
    11      print('当前是子进程\n当前进程ID {}\n当前进程的父进程ID {}\ni: {}\n'.format(os.getpid(), os.getppid(), i))
    12  else:
    13      print('当前是父进程\n当前进程ID {}\n当前进程的父进程ID {}\ni: {}\n'.format(os.getpid(), os.getppid(), i))

执行程序

zds@ubuntu:~$ python3 a.py 
当前进程ID: 11454
-------------
当前是父进程
当前进程ID 11454
当前进程的父进程ID 3666
i: 11456

当前是子进程
当前进程ID 11456
当前进程的父进程ID 11454
i: 0

当前是父进程
当前进程ID 11455
当前进程的父进程ID 11454
i: 11457

当前是子进程
当前进程ID 11457
当前进程的父进程ID 11455
i: 0

zds@ubuntu:~$ 

你可能感兴趣的:(os.fork() 创建子进程)