• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > Linux系统中的screen命令基本使用教程

Linux系统中的screen命令基本使用教程

作者:jiedushi 字体:[增加 减小] 来源:互联网 时间:2017-05-12

jiedushi 通过本文向大家介绍了linux系统中,linux系统中git命令,linux系统中链接分为,linux 系统中打开xls,linux系统中安装软件等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作。


也许你遇到过使用telnet或SSH远程登录linux,运行一些程序。如果这些程序需要运行很长时间(几个小时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户机与远程服务器的链接将终端,并且远程服务器没有正常结束的命令将被迫终止。


又比如你SSH到主机上后,开始批量的scp命令,如果这个ssh线程断线了,scp进程就中断了。在远程服务器上正在运行某些耗时的作业,但是工作还没做完快要下班了,退出的话就会中断操作了,如何才好呢?


我们利用screen命令可以很好的解决这个问题。实现在断开SSH的情况下,在服务器上继续执行程序。


那什么是screen命令?


Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。


Screen功能说明:


简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。


Screen命令语法:


screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]


Screen命令参数:
-A -[r|R]          将所有的视窗都调整为目前终端机的大小。
-c filename        用指定的filename文件替代screen的配置文件’.screenrc’.
-d [pid.tty.host]  断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。
-D [pid.tty.host]  与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。
-h <行数>         指定视窗的缓冲区行数。


-ls或–list        显示目前所有的screen作业。
-m                    即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-p number or name  预先选择一个窗口。
-r [pid.tty.host]  恢复离线的screen进程,如果有多个断开的进程,需要指定[pid.tty.host]
-R                      先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s shell             指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作).
-v                     显示版本信息。
-wipe                检查目前所有的screen作业,并删除已经无法使用的screen作业。
-x                     恢复之前离线的screen作业。


Screen命令的常规用法:


screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。


screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接


screen -ls或者-list:显示存在的screen进程,常用命令


screen -m:如果在一个Screen进程里,用快捷键crtl+a c或者直接打screen可以创建一个新窗口,screen -m可以新建一个screen进程。


screen -dm:新建一个screen,并默认是detached模式,也就是建好之后不会连上去。


screen -p number or name:预先选择一个窗口。


Screen实现后台运行程序的简单步骤:


1> 要进行某项操作时,先使用命令创建一个Screen:

2>接着就可以在里面进行操作了,如果你的任务还没完成就要走开的话,使用命令保留Screen:

如果你工作完成的话,就直接输入:

3> 如果你上一次保留了Screen,可以使用命令查看:

恢复Screen,使用命令:

Screen命令中用到的快捷键


Ctrl+a c :创建窗口


Ctrl+a w :窗口列表


Ctrl+a n :下一个窗口


Ctrl+a p :上一个窗口


Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换


Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)


exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)


Ctrl+a d :退出当前终端,返回加载screen前的shell命令状态

多窗口
screen,像许多的窗口管理器一样,能支持多窗口。这个功能在处理多个任务且同时没有打开新的会话时 很有用。作为一个系统管理员,我常常要同时开四五个SSH会话。在每个shell下,我可能要处理两三个任务。不使用screen的话,需要15个SSH 会话,15次登录,15个窗口等等。使用screen,每个系统都分配到一个单独的会话中,我通过screen来管理系统上不同的作业。
要打开新的窗口,只需要使用“Ctrl-A”“c”。创建的新的窗口会显示一个默认的命令提示符。例如,我可以运行top命令后再打开一个新的窗口来做其它的工作。Top继续留在那运行!可以亲身实验一下,启动screen并运行top。(注:为了节省空间我截断了多个屏幕。)
启动top

393660K cached</p> <p> PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root 25 0 1892 1892 596 R 49.1 0.3
6614 root 16 0 1544 1544 668 S 28.3 0.3
7198 admin 15 0 1108 1104 828 R 5.6 0.2
</div>
现在可以通过“Ctrl-A”“c”来打开一个新窗口

To get back

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Linux系统中为php添加pcntl扩展
  • MySQL在Linux系统中隐藏命令行中的密码的方法
  • Linux系统中把文件拷贝到U盘的方法
  • linux系统中如何安装程序、软件的几种方法
  • Linux系统中tar压缩包怎么解压?
  • linux系统中怎么查看cpu信息?
  • linux系统中怎么结束boa进程?
  • linux系统中怎么实现文本界面转化为图形界面?
  • Linux系统中安装使用ntfs-3g挂载NTFS分区的教程
  • Linux系统中安装和使用Axel下载工具的教程

相关文章

  • 2017-05-12Linux kernel模块管理相关详解
  • 2017-05-12使用strace命令定位和诊断故障的实例分享
  • 2017-05-12Linux下压缩和优化jpg与png图片的方法
  • 2017-05-12Linux内核与根文件系统的关系详解
  • 2017-05-12简单讲解Linux的文件系统及相关的挂载命令
  • 2017-05-12Linux列举大于指定大小文件的所在目录的方法
  • 2017-05-12在Linux系统中批量删除多个文件的方法总结
  • 2017-05-12Puppet 安装配置方法
  • 2017-05-12Linux下添加用户和用户组的命令使用教程
  • 2017-05-12Linux系统中用于复制的cp和scp命令使用解析

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 在Linux系统上开启Initrd文件系统的方法
    • 详解Linux系统下PXE服务器的部署过程
    • linux jdk版本随时切换版本随时切换实现方法
    • Linux系统中安装使用Trickle来控制用户带宽
    • 详解Linux下常用远程登陆命令telnet和rlogin的用法
    • Linux下配置Docker容器间网络连接的教程
    • Linux查看磁盘空间与磁盘空间管理
    • Linux中stat命令显示文件的基本使用教程
    • Linux中的wget网络下载命令使用全解
    • Linux服务器上安装使用TCPCopy来获取用户访问流量

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有