創建一個新的進程os.fork
阿新 • • 發佈:2018-09-11
*** 獨立 fork 代碼段 空間 命令 全部 進程空間 id號
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