[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 しています。

Shell command