linux_shell_拆分文件_多进程脚本

时间:2025-04-18 08:35:03

【需求场景】:一个10000w行的文件处理  ,多进程处理  比如启动100个进程同时处理。

【方法】:拆分文件(split) ,制作shell脚本  执行后台进程

【demo】:

假设处理程序为  test.php , 需要接收参数   处理数据文件路径 加 传入参数      eg:part_01 1        【第二个参数用来辅助内部调用不同接口处理】

【方法】:

demo.data  1000w行

拆分   split -l 10000 demo.data part_

执行结果 100个文件

处理脚本 ,test.php

制作shell

#!/bin/sh
dir='mulu/part_*'
i=
for file in `ls $dir`
do
let "i++"
let "j=i%2"
nohup php test.php $file $j > $file.res &
done

【批量kill】

ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9

local=no 进程关键字