Aix
如何在 AIX 中像 xargs 一樣使用“–max-procs”來創建程序隊列?
考慮一個簡單的處理隊列,例如:
cat list.txt | xargs -n1 -P20 process.sh
(-P 或 –max-procs)
如何在 AIX 中有類似的東西?
你可以通過用 ksh 腳本替換你的 xargs 來模擬同樣的事情。例如:
#!/bin/ksh nproc=0 max=20 trap 'let nproc--' sigchld while read file do while [ $nproc -ge $max ] do sleep 1 done process.sh "$file" & let nproc++ done wait
shell 變數
nproc
計算它在後台執行的程序數。當程序結束時,shell 會擷取 SIGCLD 信號以遞減變數。睡眠輪詢循環停止的次數多於max
正在啟動的程序。