xargs で 並列処理
意外と忘れていたので備忘録がてらメモ
(例)
$ yes | head -10000 | xargs -L 30 -P 2 ruby -e 'sleep(1); p ARGV.size;'
-L : 引数の数が30件に達したら, コマンドを実行する
-P : 同時実行数を2に指定
上記のコマンドを実行をすると, 引数の数を標準出力に出しているので確認する事ができる
$ yes | head -10000 | xargs -L 30 -P 2 ruby -e 'sleep(1); p ARGV.size;' 30 30 30 : : :
psコマンド等で確認をすると 2プロセス動いているのが確認できる