screen常用命令
1. screen的功能
-
使用ssh连接到远程服务器时,有可能因为网络或其他原因断开连接,远程服务器上正在运行的程序也会被杀死。
screen
能够在连接断开的情况下,继续运行程序。(类似nohup
) -
在linux中,有些任务十分耗时,比如文件备份和数据传输,在这些任务进行的时候,我们还想做其他的事情。使用
screen
可以开启多个会话,使任务一运行的同时,我们进行任务二的操作。 -
会话共享,可以让一个或不同用户从不同终端多次登录一个会话,冰共享会话的所有特性。并且,提供了窗口访问权限的机制,可以对窗口进行密码保护。
2. screen使用方式
先明确父界面的含义,即使用用户名登录的原本的linux界面。所有通过screen创建的界面称为会话。
2.1 创建新的会话
~$screen
:创建一个无名字的新会话(父界面中运行)~$screen -S sessionname
: 创建一个叫sessionname的会话,并进入该会话。(父界面中运行)- 在已有screen会话中创建新窗口,键入C-a c(即Ctrl键+a键,之后再按下c键),screen 在该会话内生成一个新的窗口并切换到该窗口。
这里,直接使用screen
创建一个会话
2.2 断开当前的会话(detach)
- 键入C-a d(即Ctrl键+a键,之后再按下d键),这是会给出detached提示。【下图,能看到36534,为会话id】,断开后还是会继续运行
2.3 查看现有的会话
- 在父界面中运行
~$screen -ls
2.4 重新连接指定会话(attach)
通过上面的screen -ls
的结果,我们可以通过36534来重新连接该会话。
- 比如,在父界面中运行
~$screen -r 36534
,即可恢复。
2.5 杀掉当前的会话
- 方法一:在父界面中运行
~$screen -S sessionName -X quit
: sessionName使用session id也是可以的。 - 方法二:先attach指定会话,
screen -r session_name
,然后exit
即可。
参考: