相关疑难解决方法(0)

Python Asyncio子进程永远不会完成

我有一个简单的python程序,我用它来测试子进程的asyncio:

import sys, time
for x in range(100):
    print("processing (%s/100)    " % x)
    sys.stdout.flush()
print("enjoy")
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

在命令行上运行它会产生所需的结果.

但是,从asyncio调用时,它永远不会完成

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()
Run Code Online (Sandbox Code Playgroud)

ps ax显示这个过程<defunct>,不确定这意味着什么

python python-asyncio

5
推荐指数
1
解决办法
2910
查看次数

标签 统计

python ×1

python-asyncio ×1