【发布时间】:2021-11-30 12:59:24
【问题描述】:
我想使用 bash 并行运行一个简单的 python 脚本 100 次。如果我运行 python 脚本串行一切都很好,但如果我并行运行它们,我会收到错误
stdin 不是 tty 大概是因为同一个python文件被多次打开?
这是 bash 文件
#!/bin/bash
for i in {1..5}; do
winpty python test.py &
done
如果我删除 & 符号,一切正常(串行),但如果我并行运行它就不行。 Python 文件就是 1+1
PS:我使用 winpty python 运行 python 而不是通常的 python,因为我从 git-bash 控制台运行它并且那个东西有问题......但是,我不认为这是问题的来源,因为串行运行所有内容都可以正常工作...
【问题讨论】:
-
winpty 期望 stdin 是一个终端,当你在后台运行时不是这样,
& -
@Philippe 有没有办法绕过这个?
-
如果获取交互式输出不是您的使用场景的核心,可能摆脱
winpty。也许改为将输出重定向到日志文件或类似文件。
标签: python windows bash winpty