繁体   English   中英

并行在脚本中进行Bash重定向

[英]Bash redirection in a script in parallel

我有一个bash脚本,其中包含要并行运行的进程循环:

for i in {1..5}
do
echo Running for simulation $i
python script.py $i > ./outlogs/$i.log 2>&1 &
done

但是当我这样做时,文件重定向不起作用,因此$i.log只是保持为空。 重定向仅在我最后不使用&下才有效,但是脚本会等待每个进程完成后再启动下一个我不希望的进程。

我使用script -c尝试了一种解决方案,但这不会实时更新,仅在过程结束后才可以。 有没有人有更好的建议,文件重定向在此脚本中可以工作,但仍可以实时更新?

您只需要添加-u选项,它将看起来像这样:

python -u script.py $i > ./outlogs/$i.log 2>&1 &

选项-u用于无缓冲的二进制stdout和stderr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM