小编kat*_*vig的帖子

Python 子进程的实时输出

我正在运行 Django Web 服务器,并尝试将子进程的输出实时打印到日志中。如果我推荐 readline 行并取消注释 yowzer 行,我会得到所需的记录输出流,但是一旦我尝试按原样运行此行,我就不会得到任何输出。我究竟做错了什么?我能找到的所有结果似乎都表明这可以按原样工作。

sp = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)

while sp.poll() is None:
    logging.critical(sp.stdout.readline())
    #logging.critical('yowzer')
    time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

谢谢你!

[4 月 3 日编辑]事实证明,问题不在于该命令长时间运行,而在于我使用分号将“su user”命令与主命令连接起来。删除 su 解决了这个问题。

python django python-3.x django-channels

3
推荐指数
1
解决办法
8174
查看次数

标签 统计

django ×1

django-channels ×1

python ×1

python-3.x ×1