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