いつでも10個の部分のみを並列に実行できるようにしながら、100個の部分でスクリプトを実行する必要があります。
以下のスクリプトは、100個のプロセスをすべて同時にトリガーします。
for i in {1..100}
do
nohup ksh my_background_script.ksh -mod ${i} &
done
答え1
xargs
GNUには一般的に使用される2つのツールがありますparallel
。
xargs
以前のバージョンで、通常はデフォルトでインストールされますが、より制限的です。次のように使用できます。seq 1 100 | xargs -P 10 -I {} nohup ksh my_background_script.ksh -mod {} &
-P 10
10個のプロセスを並列に実行するように指示します。GNUは
parallel
多くのシステムにデフォルトでインストールされていませんが、すべてのGNU / Linuxシステムで簡単に利用できる必要がありますxargs
。parallel -j 10 nohup ksh my_background_script.ksh -mod ::: {1..100}
両方のプログラムとそれぞれの用途の詳細については、こちらをご覧ください。GNUパラレル対&(背景を意味する)対xargs -P