一、forking 进程
通过fork产生的进程有以下几个特点:
- 是一个进程的克隆。
- 创建的进程独立于父进程单独存在。
- 线程在调用fork()那那点被复制执行。
- 在子线程中返回0。
- 在父线程中返回子线程的pid
- 子线程的PID不同于父线程。
二、代码示例
#!/usr/bin/env python
import os
def child_process():
print "I am the child process and my PID is : %d" % os.getpid()
print "teh child is exiting."
def parent_process():
print "I am the parent process whit PID :%d" % os.getpid()
childId = os.fork()
if childId == 0:
#在子进程中
child_process()
else:
#在父进程中
print "inside the parent process"
print "my child‘s pid is : %d" % childId
while True:
pass
parent_process()
子线程结束后,父线程依然在运行,并没有推出。
三、量产新的线程
- os.exec* 系列函数
- os.execl
- os.execle
- os.execvp
- 子进程覆盖父进程
可以发现通过这种方式创建的进程是覆盖掉了父进程,当子进程结束时,父进程也跟着结束了。
时间: 2024-10-13 00:41:36