2017-01-12 36 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 

(該上述兩個值相對於-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.你想要的是閱讀的10行1個記錄:1線的

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

或10條:

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