进程保持——SSH中screen命令的使用

有时候会碰到这样的情况,用SSH远程到一个linux主机进行一些操作,有时候这些操作要花很长的时间,这样就会出现一些问题,你运行SSH客户端的电脑就不能关了或如果出现网络中断,则当前连接就会中断,就算是你重新打开SSH,也只会打开一个新的session,无法恢复之前的session。
这个时候,你就需要Screen这个工具了,它可以解决这个问题。在安装了Screen之后,在putty中就可以直接使用啦。

使用方法:

screen
//以下^A表示同按“Ctrl + A”键
^A c #Create,开出新的 window
^A n #Next,切换到下个 window
^A p #Previous,前一个 window
^A ^A #在两个 window 间切换
^A w #Windows,列出已开启的 windows 有那些
^A 0…9 #切换到第 0..9 个 window
^A t #Time,显示目前的时间,与系统的 load
^A K #kill window,强制关掉目前的 window
^A ? #Help,显示简单说明
^A d #detach,将目前的 screen session (可能含有多个 windows) 丢到背景执行

当按了 ^A d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session每个window 内跑的 process (无论是前景/背景)都在继续执行,即使 logout 也不影响。

screen -ls #显示所有的 screen sessions
screen -r [keyword] #选择一个 screen session 回来,恢复离线的screen作业,单独输入 screen -r 也行的.

补充说明:
screen是一个多重视窗管理程序,此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。