screen命令的使用方法

你是不是经常会遇到ssh连接突然断开导致session内的所有进程全部中断?特别是一些耗时较长的操作或者是一些需要常驻后台的操作,当网络状况不好,或者超时导致ssh session中断的时候,可能会使你几个小时努力化为乌有。之前也介绍过screen这款软件,这里再次温习一下。

screen是Linux各发行版基本都会默认安装的一个软件,使用它可以完美解决上述问题。即使ssh连接掉线,在screen里执行的进程也不会被kill,而是可以继续运行。如果你的发行版没有默认安装,可以用yum、apt-get或者pacman等包管理工具自行安装screen这个软件包。

 

一、最基本的用法:

screen

会创建一个session,可以在里面像平常一样进行各种指令的操作。输入exit可以退出并kill掉当前session(在此session里执行的进程也同时被kill)。

 

二、稍微高级点:

screen -S ex1

会创建一个名字叫ex1的session。

 

三、使用下面的命令可以查看现在正在运行哪些screen session:

screen -ls

结果示例:

There is a screen on:
        10030.ex1       (08/08/13 16:50:40)     (Attached)
1 Socket in /var/run/screen/S-youran.

 

四、退出和进入session:
使用Ctrl+ad这一组合键可以从当前所在的screen session中暂时退出(session自身依然在运行)。另外,使用下面的命令可以随意切换所在的session:

screen -d -r ex1

-d参数是退出当前session(如果现在正在某个session中);-r参数表示重新进入一个session。

如果存在没有命名的session(创建时没有加-S参数),则上述-r参数后面跟的是未命名session的PID。

 

五、几个有用的快捷键
Ctrl+ac 在当前session里新建一个window
Ctrl+an 转到当前session里的下一个window
Ctrl+ap 转到当前session里的前一个window

有了这些,在漆黑的终端下的各种操作是不是就有了点图形化界面的感觉?

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

Leave a Reply

Your email address will not be published. Required fields are marked *