I have looked at the problem of unneeded processes being started when
using --pipe. https://savannah.gnu.org/bugs/?34241

One solution is to wrap the command with a test for eof:

  if perl -e 'eof() and exit(1)'; then (your;command;here); else true; fi

Like this (your command = md5sum -c):

  echo | parallel -r -j2 -N1 --pipe "if perl -e 'eof() and exit(1)';
then ( md5sum -c ); else true; fi"

This means that the process will still be spawned, but the eof-test
will stop your command from being run.

Also I need help with converting the if-template above to csh.

Before I implement this as default for --pipe, can you see any
problems with that approach?


/Ole
-- 
Did you get your GNU Parallel merchandise?
https://www.gnu.org/software/parallel/merchandise.html

Reply via email to