我有一個pytonscript.py要在 500 個樣本上運行的腳本。我有 50 個 CPU 可用,并希望為每個樣本使用 1 個 CPU 并行運行腳本,以便 50 個樣本不斷運行,每個樣本都有 1 個 CPU。任何想法如何在不使用不同輸入輸入 500 行的情況下進行設定?我知道如何為每個樣本創建一個回圈,但不知道如何讓 50 個樣本并行運行。我猜GNU并行是一種方式?
在檔案夾中輸入樣本samples:
樣品 1 樣品 2 樣品 2 ... 樣品 500
pytonscript.py -i samples/sample1.sam.bz2 -o output_folder
uj5u.com熱心網友回復:
GNUxargs呢?
printf '%s\0' samples/sample*.sam.bz |
xargs -0L1 -P 50 pytonscript.py -o output_dir -i
這會同時為每個檔案啟動一個新的 python 腳本實體,一次最多保持 50 個。
如果通配符 glob 擴展不夠具體,可以使用 bash 的 extglob:shopt -s exglob; # samples/sample ([0-9]).sam.bz
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/466765.html
上一篇:正則運算式和決議字串行
