簡體   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