基于fork的多进程编程

fork使用

pid = os.fork()
功能: 创建新的进程
返回值:整数,如果创建进程失败返回一个负数,如果成功则在原有进程中返回新进程的PID,在新进程中返回0

注意:

  • 子进程会复制父进程全部内存空间,从fork下一句开始执行。
  • 父子进程各自独立运行,运行顺序不一定。
  • 利用父子进程fork返回值的区别,配合if结构让父子进程执行不同的内容几乎是固定搭配。
  • 父子进程有各自特有特征比如PID PCB 命令集等。
  • 父进程fork之前开辟的空间子进程同样拥有,父子进程对各自空间的操作不会相互影响。
 1 import os
 2 from time import sleep
 3 
 4 pid = os.fork()
 5 
 6 if pid < 0:
 7   print("Create process failed")
 8 elif pid == 0:
 9   os._exit(0)
10   sleep(3)
11   print("New process")
12 else:
13   sleep(5)
14   print("Old process")
15 
16 print("Fork test end")
基于fork的进程创建演示1

相关文章:

  • 2021-07-07
  • 2021-07-14
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-06-03
  • 2021-06-28
猜你喜欢
  • 2021-12-20
  • 2021-05-27
  • 2021-08-10
  • 2021-12-04
  • 2021-06-07
  • 2022-01-19
相关资源
相似解决方案