Python中的os.wait()函数用于等待子进程结束。当父进程启动子进程后,如果想要在子进程执行完后再继续执行父进程,可以使用os.wait()函数等待子进程结束。下面是os.wait()函数的详细介绍。
1. 函数格式
os.wait()
2. 函数参数
os.wait()函数没有参数。
3. 函数返回值
wait()函数会返回一个元组,包含两个值:
- 子进程的进程ID(PID)
- 子进程的退出状态
4. 示例代码
以下是等待子进程结束的完整示例代码:
import os
pid = os.fork()
if pid == 0:
print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()))
else:
print('I (%s) just created a child process (%s).' % (os.getpid(), pid))
os.wait()
print('Child process %s is done.' % pid)
上面的代码中,先创建了一个子进程,然后在父进程中调用os.wait()函数等待子进程结束。注意,子进程执行完毕后不会自动退出,需要通过os._exit()函数手动退出。
5. 注意事项
- 如果子进程未结束,则父进程会一直阻塞在os.wait()函数处。
- 如果有多个子进程,可以使用os.waitpid()函数等待指定子进程结束。