2017-01-12 12 views
3

После обновления до Debian 8.6 Jessie параллельный скрипт GNU неожиданно прекратил распараллеливать более чем 2 задания с параметрами -pipe и -L.GNU параллельные задания нерест

Перед тем как обновить команду:

cat file_with_1064_lines.txt | parallel -L10 -j5 -k -v --pipe "wc -l"

породил 5 процессов, которые выводят следующим образом:

wc -l 
10 
wc -l 
10 
... 

Та же команда после обновления:

 
wc -l 
1060 
wc -l 
4 

(The два значения выше изменяются относительно значения опциона -L e - первый - L*floor(1064/L), а второй - 1064 mod L, но всегда выводятся только два процесса.)

То же самое наблюдается независимо от параллельной версии (протестировано последней и одной из 2013).

PS.

$ uname -a 

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux 

$ parallel --version 

GNU parallel 20161222 

ответ

2

-L - размер записи. Ошибка была исправлена ​​вокруг 20130122. Что вы хотите, чтобы прочитать 1 запись из 10 строк:

parallel -L10 -N1 -j5 -k -v --pipe wc -l 

или 10 записей 1 линии:

parallel -L1 -N10 -j5 -k -v --pipe wc -l