[英]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.