[Shell command] xargs でコマンドを並列実行する
作成日: 2026年09月18日
xargs の -P オプションを使用すると、複数のコマンドを並列に実行できます。
下記の例では、最大2プロセスを同時に実行します。
printf '%s\n' 1 2 3 | xargs -n 1 -P 2 sh -c 'echo "item:$1"' _ | sort
実行結果は下記のとおりです。
item:1
item:2
item:3
-n 1は1回のコマンド実行に1つの引数を渡します。-P 2は同時に実行するプロセス数を最大2つにします。-Pは--max-procsと同じ意味です。
並列実行では完了順が一定にならないため、この例では確認しやすいように最後に sort しています。