Eu escrevi um script bash que está no seguinte formato:
#!/bin/bash
start=$(date +%s)
inFile="input.txt"
outFile="output.csv"
rm -f $inFile $outFile
while read line
do
-- Block of Commands
done < "$inFile"
end=$(date +%s)
runtime=$((end-start))
echo "Program has finished execution in $runtime seconds."
O while
loop lerá $inFile
, executará alguma atividade na linha e fará o dump do resultado $outFile
.
Como as $inFile
3500+ linhas de comprimento, o script levaria de 6 a 7 horas para ser executado completamente. Para minimizar esse tempo, estou planejando usar multithreading ou bifurcação neste script. Se eu criar 8 processos filhos, 8 linhas $inFile
serão processadas simultaneamente.
Como isso pode ser feito?