Python - os.fork() failure



在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?

你可以用你自己的实现替换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 模块。

最新更新