On [email protected] it was reported as a bug that CTRL-C does not
kill remote jobs.

It clearly is a bug, but I have found no good solution.

Running this:

    parallel -qS server1 perl -e 'sleep(100)' ::: 1 2 3

and pressing CTRL-C will not killoff the 3 sleeps on server1.

But if run like this it will work:

    parallel -qS 'ssh -t -t server1' perl -e 'sleep(100)' ::: 1 2 3

You will pay a price for that:

  * STDIN to the process is now treated as a terminal. So --pipe with
binary data will
be quite unpredictable: E.g. ^C (ascii: 3) will send CTRL-C.
  * You get 'Connection to server closed' - unless you use -o LogLevel=quiet
  * On STDOUT "\n" (ascii 10) becomes "\r\n" (ascii 13 10), so binary
output on STDOUT will be messed up.
  * --basefile, --transfer, --return will transfer text and not binary.

It will work fine if:

  * input is normal printable strings (ascii > 32)
  * output is text (beware that \n -> \r\n)

So my question is: Should that be made into an option?


/Ole

Reply via email to