在用secureCRT登陆远程服务器时,如果电脑关机、断网或secureCRT异常退出,那么原来运行在远程服务器上的程序也异常退出。有的时候这种情况防不胜防。而如果使用screen管理器,那么即使出现上述情况,还是能够恢复原来的窗口,其中的历史信息依然存在,之前运行的程序依然在正常运行。
screen是在原来的终端上开了好几个线程形成的虚拟窗口。即使终端异常退出,这些线程依然存在,只要主机不关,它们就能够在重新登陆的时候恢复。几个常用的命令:
- screen -S <window name> 在终端上新开一个名为window name的虚拟窗口。成功运行该命令后,就进入了这个虚拟窗口。进入后按 Ctrl+a+c 就在这个窗口上新开了一个screen。这些screen会依次以[screen 0:bash] host@... [screen 1:bash] host@... [screen 2:bash] host@... 命名。Ctrl+a+n 进入下一个(next)screen,Ctrl +a+p 进入前一个(previous)窗口,Ctrl+a+N 进入第N个窗口。记住这些命令都以ctrl+a 开始。注意,如果运行screen -S <another name>,将会新开一个窗口。这个窗口和原来的窗口就不能随便切换了。
- screen -d <window name> 从终端detach一个窗口。
- screen -r <window name> 恢复被detach的窗口
- screen -p <window name> 回到原来窗口,该窗口没有被detach
更多内容请参考