前言

为了提高运行速度,有时需要并发运行程序,本文就介绍,如何使用shell来并发运行程序。

代码结构

master.sh 控制slave.sh的运行个数。

master.sh

#!/usr/bin/env bash

for((i=0;i<20;i++))
do
    sh slave.sh $i &
    pid=$!
    echo $pid
done

slave.sh

#!/usr/bin/env bash

remain=$1
for i in {1..3000}
do
    curRemain=$(( $i % 5 ))
    if [ $curRemain -eq $remain ]
    then
        part=`printf "part-%05d" $i`
        hadoop fs -get */$part ./$part
        cat ./$part | python ParallelParse.py > result/${part}.result
        rm ./$part
    fi
done

启动

sh master.sh