-3
我該如何更正此代碼以使用子流程模塊替換popen2?用子流程模塊代替popen2模塊
popen3 = popen2.Popen3(cmd, capturestderr=True)
rc = popen3.wait()
if os.WIFEXITED(rc):
rc = os.WEXITSTATUS(rc)
if rc < 0:
#""" Needed to make sure that catastrophic errors are not processed here, hence the rc check.
#"""
if len(stderr) > 0:
inserts= []
inserts.append("Warnings occurred during run of %s" % self.__MODULE_NAME)
inserts.append("Check conversion parameters.")
#self.msgWrite("98000001", inserts)
if rc == 0:
self.msgDebug("CompartService exited normally", "Exit code with signal: %s" % str(rc))
#
你的榜樣會死鎖。應該使用Popen.communicate()。 – tdelaney
這是真的,但OP甚至沒有使用它。我只是在展示subprocess.Popen。 –
但是你正在演示不正確的用法。無論OP是否使用它,它都會死鎖。只要改變它溝通,我們都快樂地回家。 – tdelaney