Ich habe ein Bash-Skript geschrieben, das das folgende Format hat:
#!/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."
Die while
Schleife liest aus $inFile
, führt einige Aktivitäten in der Zeile aus und gibt das Ergebnis aus $outFile
.
Da das $inFile
Skript mehr als 3500 Zeilen lang ist, würde die vollständige Ausführung des Skripts 6-7 Stunden dauern. Um diese Zeit zu minimieren, plane ich, in diesem Skript Multithreading oder Forking zu verwenden. Wenn ich 8 untergeordnete Prozesse erstelle, werden 8 Zeilen von $inFile
gleichzeitig verarbeitet.
Wie kann das gemacht werden?