http://www.perlmonks.org?node_id=1012110


in reply to capture STDOUT when some jerk opened STDOUT to /dev/tty

You can use screen(1) to capture the output sent to /dev/tty easily. For instance:
$ screen -L ssh foo.bar.com

Replies are listed 'Best First'.
Re^2: capture STDOUT when some jerk opened STDOUT to /dev/tty
by Tommy (Chaplain) on Jan 07, 2013 at 21:47 UTC

    Sure, rub it in that we don't get to have screen at $work ;_;

    You know I even tried ssh 0 cmd!! Using screen is a really cool idea though.

    Originally I was just wondering if there was an obvious Perl solution to the problem that I was just either overlooking or of which I was unaware.

    Tommy
    "Perl follows the principle of least astonishment"
      Well, you can write your own tty logger using IO::Pty. It shouldn't be too complex.

      Another option may be to run the program through strace logging the interesting events. Then post-process that information to obtain a clean log of the data written to /dev/tty