簡體   English   中英

Python-os.fork()失敗

[英]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模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM