Solution 1:

screen does exactly that. But you have to start the process in screen.

To create the session use

screen -S hugeprocess

To resume the session

If the screen is still running:

screen -x hugeprocess

If the screen has been detached:

screen -r hugeprocess

To detach from the session

CTRL + A+D

Enable screen log file

You may also want to use the -L parameter when you create the session to enable logging to ~/screenlog.0 which you can read using less -r screenlog.0

Solution 2:

Try reptyr:

reptyr - Reparent a running program to a new terminal