例1importosprint'Process(%s)start...'%os.getpid()pid=os.fork()ifpid==0:print'Iamchild(%s)andmyfatheris%s.'%(os.getpid()
例1
import os
print 'Process (%s) start...' %os.getpid()
pid = os.fork()
if pid==0:
print 'I am child (%s) and my father is %s.'%(os.getpid(),os.getppid())
else:
print 'I (%s) just created a child process (%s).' %(os.getpid(),pid)
加载os模块后,首先os.fork()函数生成一个子进程,返回值pid有两个,一个为0,
用以表示在子进程当中,一个是大于0的整数,表示在父进程,这个常数正是子进程的pid.
if pid == 0,在子进程当中os.getpid()是子进程的pid,os.getppid()是父进程pid
if pid >0 ,在父进程当中,os.getpid()是父进程的pid,os.fork()返回的就是子进程的pid
例2
import os
def child():
print 'A new child:', os.getpid()
print 'Parent id is:', os.getppid()
os._exit(0)
def parent():
while True:
newpid=os.fork()
print newpid
if newpid==0:
child()
else:
pids=(os.getpid(),newpid)
print "parent:%d,child:%d"%pids
print "parent parent:",os.getppid()
if raw_input()=='q':
break
parent()
以上这篇在Python中os.fork()产生子进程的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Python os.fork 子进程