创建一个新的进程os.fork

Posted zengsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个新的进程os.fork相关的知识,希望对你有一定的参考价值。

import os

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

 

*子进程会复制父进程全部代码段,包括fork之前产生的内存空间
*子进程从fork的下一句开始执行,与父进程互补干扰
*父子进程的执行顺序是不一定的,父子进程公用一个终端显示
*父子进程通常会根据fork返回值得差异选择执行不同的代码。所以if结构几乎是fork的固定搭配
*父子进程空间独立,操作的都是本空间的内容,互补影响
*子进程也有自己的特性,比如PID号,PCB,命令集等

 

import os
from time import sleep

print("***********************")
a = 1
pid = os.fork()

if pid < 0:
    print("创建进程失败")
elif pid == 0:
    print("这是一个新的进程")
    print("a=",a)
    a = 10000
else:
    sleep(1)
    print("这是原有的进程")
    print("parent a = ", a)
print("演示完毕")

 

以上是关于创建一个新的进程os.fork的主要内容,如果未能解决你的问题,请参考以下文章

python3 系统编程进程

Python并发编程—fork的使用

python__系统 : 进程

OS fork 练习

进程和线程

Python 进程