Saya telah menulis skrip bash yang dalam format berikut:
#!/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."
The while
Loop akan membaca dari $inFile
, melakukan beberapa aktivitas di baris dan membuang hasil di $outFile
.
Karena $inFile
panjangnya 3500+ baris, skrip akan membutuhkan 6-7 jam untuk mengeksekusi sepenuhnya. Untuk meminimalkan waktu ini, saya berencana menggunakan multi-threading atau forking dalam skrip ini. Jika saya membuat 8 proses anak, 8 baris dari $inFile
akan diproses secara bersamaan.
Bagaimana ini bisa dilakukan?