python中进程创建—fork()
導(dǎo)入模塊:import os
?
1.程序執(zhí)行到os.fork()時(shí),操作系統(tǒng)會(huì)創(chuàng)建一個(gè)新的進(jìn)程(子進(jìn)程),復(fù)制父進(jìn)程信息
2.子進(jìn)程從fork()函數(shù)中得到返回值零
3.父進(jìn)程從fork()函數(shù)中得到返回值子進(jìn)程的id
4.fork()函數(shù)調(diào)用一次,返回兩次
5.一個(gè)父進(jìn)程可以fork出很多子進(jìn)程
6.子進(jìn)程調(diào)用自己id用函數(shù)getpid()
7.子進(jìn)程調(diào)用父進(jìn)程的id用函數(shù)getppid()
?
import os
import time
ret = os.fork()? # 創(chuàng)建新的進(jìn)程? 一次調(diào)用,兩次返回
?
if ret == 0:
??? # 子進(jìn)程執(zhí)行
??? # 子進(jìn)程拿到的返回值是0
??? print("子進(jìn)程:pid=%d, ppid=%d" % (os.getpid(), os.getppid()))
??? for i in range(3):
??????? print("放音樂")
??????? time.sleep(0.1)
else:
??? # 父進(jìn)程執(zhí)行
??? # 父進(jìn)程中拿到的返回值是創(chuàng)建的子進(jìn)程的pid,大于0
??? print("父進(jìn)程: ret=%d" % ret)
??? print("父進(jìn)程:pid=%d, ppid=%d" % (os.getpid(), os.getppid()))
??? for i in range(3):
??????? print("跳舞")
??????? time.sleep(0.1)
總結(jié)
以上是生活随笔為你收集整理的python中进程创建—fork()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定位position(前面布局无法实现
- 下一篇: 编程思想:面向对象和面向过程