Multitasking

Manche langlaufende Programme nutzen nur einen Prozessorkern. Mit diesem Script kann man dem jeweiligen Programm ein wenig auf die Sprünge helfen.
Voraussetzung ist, dass das Betriebsystem den anderen Task auch auf einen anderen Kern verlagert.
Beispiel ist das automatische Rippen von Videos.
Die Dateien sollten alle etwa gleich groß sein, sonst kann die gestartete Programmzahl auf eins sinken oder auf drei steigen.

multitasking.sh
#!/bin/sh
#hier die Endung der Dateien angeben z.B. flv
ext=txt
 
 i=-1
 for j in *.$ext; do 
 i=$(expr $i + 1)
 arr[$i]=$j;
 
  if [ $[i%2] == 0 ]
  then
  #echo $i ${arr[$i]} $[i%2] gerade
  #hier das Programm im Hintergrund starten und dann weiter in der Schleife gehen
  meinprogramm ${arr[$i]} ${arr[$i]}.mpg &
  else
  #echo $i ${arr[$i]} $[i%2] ungerade
  meinprogramm ${arr[$i]} ${arr[$i]}.mpg
  fi
 
done

zurück