As mentioned early, screen
can do all the trick. But not only what you need. I've use screen for the years and now use it every time I've login into systems. Try to install screen
and create ~/.screenrc
with such config:
sessionname vcflists
startup_message off
deflogin off
vbell off
msgminwait 0
msgwait 10
log off
backtick 1 0 0 hostname
caption splitonly "%?%F%{= yk}%:%{= Kk}%? %n %t%="
hardstatus alwayslastline "%{= rY} %1` %{= kg} %0c %{= bY} %-w%{= Yk} %n %t %{-}%+w %=%{g}%l "
Then run screen -Rd vcf
. That is the preferable invocation of screen. You will reconnect to previously created session with name vcf* (or be warned if ambiguous) or, if session not opened yet, it will be created. CTRL+A is a meta key that do everything. CTRL+A C
(CTRL+A, then C) create new window (screen) inside session. CTRL+A SPACE
move focus to the next window in a round.CTRL+A D
detach current session keeping all windows functional between connections. If you have launch some looooong task you can detach from screen and reattach to it later to see what happens. The same happens if your ssh session is lost - screen stay alive with all opened windows and all tasks launched.
If you want to close some window inside screen - just exit
from shell in it. If you want to close all shells/tasks in all windows and exit screen - just press CTRL+A CTRL+\
and press "Y" when asked.
For all the rest see man screen.