你是不是经常会遇到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/)的原创文章,转载请注明出处!