用 xargs 并行执行批量命令,缩短处理时间

xargs 并行靠 -P 指定并发数,再配 -n 控制每次传几个参数,两个要一起用才有效果。

并发数一般给到 CPU 核数到两倍之间,再往上收益很小,还会把磁盘和网络打满。

文件名带空格或换行时用 -print0 配 -0,否则参数会被切断;并行输出交错就让每个任务各写一个文件。

ls *.log | xargs -P 8 -n 1 gzip

find . -name "*.jpg" -print0 | xargs -0 -P 4 -n 10 convert -resize 50%

seq 1 100 | xargs -P 8 -I {} sh -c 'process {} > out/{}.txt'
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容