GNU Parallel wartet auf n Jobs, bevor es startet

GNU Parallel wartet auf n Jobs, bevor es startet

Ich versuche, GNU parallel auf einem Skript zu verwenden, und mir ist aufgefallen, dass es erst nach -jX X Jobs mit der Ausgabe beginnt

# Only spawns cat after 100 seconds
(echo a; sleep 100) | parallel -j1 --lb cat

# Starts instantly
(echo a; echo a; sleep 100) | parallel -j1 --lb cat

Der erste Job muss vor den anderen gestartet werden (da er die anderen Jobs als parallel definieren und die Ausgabe an ein anderes Skript weiterleiten würde), aber parallel wartet auf 3 weitere Jobs

Gibt es eine Möglichkeit, dieses Muster zu ändern?

Antwort1

Upgrade auf 20181222 oder höher.

# Spawns a instantly
(echo a; sleep 100) | parallel -j1 --lb cat

# Starts a and b instantly, outputs a immediately, b after 100 sec
(echo a; echo b; sleep 100) | parallel -j1 --lb cat

# Starts a and b instantly, outputs a and b immediately (but output may be mixed)
(echo a; echo b; sleep 100) | parallel -j1 --lb cat

verwandte Informationen