Trywialne kolejkowanie zadań w screenie – inaczej
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#!/bin/bash if [ $# -eq 0 ] then echo "No arguments supplied" exit 0 fi inputs=() for f in *.pts; do inputs+=($f) done echo ${inputs[@]} arrSize=${#inputs[@]} echo $arrSize div=$(($1-1)) ile=$(($arrSize / $div)) for i in $(eval echo {0..$div}); do echo "Thread/Screen: $i" inp=${inputs[$i]} ff=`echo $inp | sed 's/_//' | sed 's/\.//' | sed 's/pts//'` ff=project$ff screen -md -S "calc$i" fin=$(($div+1)) command="for c in " for j in $(eval echo {$i..$arrSize..$fin}); do command+="$name " name=${inputs[$j]} done command+="; do module load deal.ii/8.2pre-gcc482 &&./Femaft \$c; done " echo $command screen -S "calc$i" -p 0 -X stuff "$command $(printf \\r) " done |
