Ho un programma python semplice che sto usando per testare asyncio con sottoprocessi:Python Asyncio sottoprocesso non finisce
import sys, time
for x in range(100):
print("processing (%s/100) " % x)
sys.stdout.flush()
print("enjoy")
sys.stdout.flush()
L'esecuzione di questo sulla riga di comando produce i risultati desiderati.
Tuttavia, quando viene chiamato da asyncio, che non finisce mai
process = yield from asyncio.create_subprocess_exec(
*["python", "program.py"],
stdout=async_subprocess.PIPE,
stderr=async_subprocess.STDOUT,
cwd=working_dir
)
# this never finishes
yield from process.communicate()
ps ax
mostra questo processo è <defunct>
, non è sicuro che cosa significa
Quello che hai scritto non è un codice Python valido. – Bakuriu