Dovolil bych si navrhnout ještě jedno řešení, pro libovolný počet procesorů:
priorita=1
for soubor in $(ls -S1 *.wav); do
nice -$priorita lame -m j --quiet --vbr-new -b 64 -B 192 "$soubor" "$soubor.mp3" &
if [ $priorita -lt 19 ]; then
priorita=$(($priorita+1))
fi
done
To udělá to, že se pokusí všechny soubory převést najednou a ať si to procesory mezi sebou už nějak rozdělí. Kromě toho se začne těmi největšími soubory (a mají také nejvyšší prioritu), takže je menší pravděpodobnost, že se bude na nějakou dlouhou písničku čekat. Nevýhoda: load se zvedne na číslo počtu písniček :-) Ale nezkoušel jsem, nevím jak moc to vadí, když všechny procesy mají i tak nízkou prioritu.
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 111 200×
Přečteno 89 387×
Přečteno 72 744×
Přečteno 57 950×
Přečteno 54 280×