我有一個 12 核心伺服器,我想運行一個腳本,該腳本將檔案作為輸入參數並對其進行處理。我想使用 8 個核心,不再需要在 8 個核心上一次並行處理 8 個文件,然後在 1 個核心的處理完成後跳到下一個。
xargs
我嘗試過這樣做:
ls /data/paths/ | grep new | xargs -i -P 8 -n 1 bash main.sh {}
我也嘗試過並行處理,如下所示:
ls /data/paths/ | grep new | parallel -j 8 --no-notice bash main.sh {}
我的條件是我必須將其限制為 8 個 CPU。
編輯:
當我運行時,ps -ef | grep main.sh
它顯示 11-12 個進程,而不是 8 個進程。