Screen 命令备忘


Screen是什么?

在Linux应用过程中,经常需要远程登录服务器,当执行需要很长时间才能执行完成的任务时,不能中途断开连接,一旦断开连接,则正在执行的任务也被中止。
这是因为:根据POSIX.1定义,当终端接口检测到网络连接断开,会把挂断信号发送给该会话的控制进程,控制进程结束后,会话其内的其他进程都会被退出。
使用Screen可以解决上述问题。

  1. 创建一个新的Screen
    $screen
  2. Screen命令后跟要执行的程序,程序完成的时候,Screen也会退出
    $screen sudo apt-get update && sudo apt-get upgrade
  3. 在Screen中创建新的Screen。
    在当前Screen窗口中键入Ctrl + a,之后再按下c键,Screen在该会话内生成一个新的窗口并切换到该窗口。
  4. 暂时中断会话
    如果是使用SSH等方式登录的,直接切断远程登录连接即可。
    如果直接使用控制台本机登录,按下Ctrl + a,再按下d,Screen会给出detached提示,程序继续在后台执行。
  5. 找到已经存在的会话
    $screen –ls
    There is a screen on:
    5500.pts-0.uniqueme.cn       (Detached)
    1 Socket in /var/run/screen/S-leo.
  6. 重现连接会话
    $screen –r 5500
  7. 常用命令(C-a即Ctrl + a)
    C-a ? 显示所有键绑定信息(帮助)
    C-a w 显示所有窗口列表
    C-a C-a 且环岛之前显示的窗口
    C-a c 创建一个新的运行shell的窗口并切换到该窗口
    C-a n 切换到下一个窗口
    C-a p 切换到前一个窗口
    C-a 0..9 切换到窗口0..9
    C-a a 发送C-a到当前窗口
    C-a d 暂时断开screen会话
    C-a k 杀掉当前窗口
    C-a [ 进入拷贝/回滚模式
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s