先记录一下使用这个之前的问题:
我们连接Linux服务器使用Linux连接工具,我这里使用的xshell,登录连接后会有一个会话,我们在工作中执行一个命令(这命令可能需要执行很长时间,如复制一个大文件)由于设置ssh的安全性限制了会话时间,我们一段时间没有操作后,这个会话会自动中断,这样就会有一个问题,我们复制的文件没有复制完毕,最后的文件是一个复制不完全的文件。
之前的解决方案(不知道screen之前):
自己写一个shell脚本,并让这个脚本后台运行,使用“&”
现在的解决方案(screen):
screen是一个多重视窗的管理程序,在一个会话中可以开启多重视窗,这样我们执行完命令,可以切换到其它视窗继续操作,中断连接后,重连原先的命令还在运行不影响我们。
步骤:
- 创建一个视窗,执行screen
- 执行长时间操作的命令或者后台运行的命令,如: top
- 执行ctrl + a + d 离开screen终端
- 执行其他的命令
- 如果想回到刚才的视窗,执行screen -ls 查看视窗ID
- screen -r <screen_id>
经过上述过程,我们可以在不同的视窗进行切换并且不影响我们的服务运行。