I have a program ./pgm taking some arguments (say -a file1 -b val), which requires 2 seconds to execute. I would like to use all the processors on my machine to run this program on all the input files in parallel (about 1000). What I do now, is put all the commands./pgm -a file1 -b 12 > out1.txt &./pgm -a file2 -b 14 > out2.txt &./pgm -a file3 -b 16 > out3.txt &./pgm -a file4 -b 18 > out4.txt &...in a file, and execute this file. I thought this would use all the available processors, but the number of parallel execution is very limited.How can I achieve this? Note that parallel command is not an option.
Background execution in parallel
parallel