在python中,我在for条件中使用os.fork()。我正在做这样的事情:
for i in range(1,4):
try:
pid = os.fork()
except OSError:
print ("Error forking process")
continue
if pid == 0:
print "In child process"
os._exit(0)
print "In parent process"
如何模拟os.fork()的故障,以便可以确保未打印“在父进程中”?如何为os.fork()函数模拟OSError?
答案 0 :(得分:0)
您可以将os.fork()
替换为您自己的实现:
import os
def _fork():
raise OSError()
os.fork = _fork
for i in range(1,4):
try:
pid = os.fork()
except OSError:
print ("Error forking process")
continue
if pid == 0:
print "In child process"
os._exit(0)
print "In parent process"
如果这是测试的一部分,请查看unittest.mock模块。