1.os.wait()回收资源
os.wait()方法用来回收子进程占用的资源:
import os
import time
ret = os.fork() # 创建新的进程 一次调用,两次返回
if ret == 0:
# 子进程执行
# 子进程拿到的返回值是0
print("子进程:pid=%d, ppid=%d" % (os.getpid(), os.getppid()))
for i in range(10):
print("放音乐")
time.sleep(0.1)
else:
# 父进程执行
# 父进程中拿到的返回值是创建的子进程的pid,大于0
print("父进程:pid=%d, ppid=%d" % (os.getpid(), os.getppid()))
pid,result = os.wait() # 回收子进程资源 阻塞
# pid表示回收的子进程的pid
#result表示子进程退出是的状态信息,0表示子进程没有出现异常
print("父进程:回收的子进程pid=%d" % pid)
print("父进程:子进程退出时的转台result=%d" % result)
print("父进程:父子双亡")