2

Using Shake, I am calling cdparanoia. cdparanoia outputs a useful progress meter (including graphics to display issues) when its stderr is connected to a terminal; but not otherwise. The --stderr-progress forces some progress output, but it's not as useful, and would require a chunk of work to interpret.

I would like to run the cdparanoia command with its stderr inherited directly, (or otherwise connected to /dev/tty). I have tried using the FileStderr option set to /dev/tty, but that doesn't help - I guess shake is still sucking in the stderr, and then passing it onto /dev/tty.

Is there a way to convince shake to run a command with its stderr truly inherited? Or should I use System.Process (or similar) for this?

Cheers,

user3416536
  • 1,429
  • 9
  • 20

1 Answers1

1

At the moment, you'd need to use System.Process, but it's feasible that Shake could offer a way to inherit handles. The reason Shake doesn't currently offer inheriting is because bad things might happen if you ran two simultaneous processes inherited.

Neil Mitchell
  • 9,090
  • 1
  • 27
  • 85
  • 2
    fair point, that would be problematic. Okie dokie, I've got a `System.Process` version working, and now I'll feel less like I missed something. Thanks Neil! – user3416536 Sep 16 '19 at 16:03