1、简介

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。

2、语法

$> screen [-AmRvx -ls -wipe][-d ][-h ][-r ][-s ][-S ]

-A  将所有的视窗都调整为目前终端机的大小。

-d  将指定的screen作业离线。

-h  指定视窗的缓冲区行数。

-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-r  恢复离线的screen作业。

-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s  指定建立新视窗时,所要执行的shell。

-S  指定screen作业的名称。

-v  显示版本信息。

-x  恢复之前离线的screen作业。

-ls或–list  显示目前所有的screen作业。

-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

3、常用screen参数

screen -S yourname -> 新建一个叫yourname的session

screen -ls -> 列出当前所有的session

screen -r yourname -> 回到yourname这个session

screen -d yourname -> 远程detach某个session

screen -d -r yourname -> 结束当前session并回到yourname这个session

4、在Session下,使用ctrl+a(C-a)

C-a ? -> 显示所有键绑定信息

C-a c -> 创建一个新的运行shell的窗口并切换到该窗口

C-a n -> Next,切换到下一个 window

C-a p -> Previous,切换到前一个 window

C-a 0..9 -> 切换到第 0..9 个 window

Ctrl+a [Space] -> 由视窗0循序切换到视窗9

C-a C-a -> 在两个最近使用的 window 间切换

C-a x -> 锁住当前的 window,需用用户密码解锁

C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。

C-a w -> 显示所有窗口列表

C-a t -> time,显示当前时间,和系统的 load

C-a k -> kill window,强行关闭当前的 window

C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样

C-b Backward,PageUp

C-f Forward,PageDown

H(大写) High,将光标移至左上角

L Low,将光标移至左下角

0 移到行首

$ 行末

w forward one word,以字为单位往前移

b backward one word,以字为单位往后移

Space 第一次按为标记区起点,第二次按为终点

Esc 结束 copy mode

C-a ] -> paste,把刚刚在 copy mode 选定的内容贴上

5、常用操作

创建会话(-m 强制):

screen -dmS session_name

session_name session名称

关闭会话:

screen -X -S [session # you want to kill] quit

查看所有会话:

screen -ls

进入会话:

screen -r session_name

如何安装 screen

screen 在一些流行的发行版上已经预安装了。你可以使用下面的命令检查是否已经在你的服务器上安装了。

screen -v

Screen version 4.00.03 (FAU)

如果在 Linux 中还没有 screen,你可以使用系统提供的包管理器很简单地安装它。

CentOS/RedHat/Fedora

yum -y install screen

Ubuntu/Debian

apt-get -y install screen

1、screen使用举例

1.1、创建一个新screen窗口

[root@imzcy ~]# screen -S jboss-blog

[root@imzcy ~]# java -jar blog-imzcy.jar

[root@imzcy ~]#

1.2、使用Ctrl + A + D组合键退出screen窗口

[detached from 9832.jboss-blog]

[root@localhost ~]#

1.3、列出已经创建的screen窗口

[root@localhost ~]# screen -ls

There is a screen on:

9832.jboss-blog (Detached)

1 Socket in /var/run/screen/S-root.

[root@imzcy ~]#

1.4、恢复到指定的screen窗口

[root@imzcy ~]# screen -r jboss-blog

[root@imzcy ~]# screen -r 9832

1.5、退出并删除当前screen窗口

screen -S session_name -X quit

[root@localhost ~]# exit

exit

[screen is terminating]

[root@localhost ~]# screen -ls

No Sockets found in /var/run/screen/S-root.

[root@localhost ~]#

常用选项:

-ls :列出所有screen窗口

-S :自定义一个名称,创建一个新的screen窗口并自动切换进去

-r :进入到指定screen窗口,可以指定窗口名称或窗口ID

-d :将screen窗口与在连接的会话分离并重新连接到当前会话

Ctrl + A + D :退出当前screen窗口

exit :退出并删除当前的screen窗口

screen使用中常见问题之:There is no screen to be resumed matching jboss-blog.

正常创建的screen窗口没有被使用的话,使用screen -ls查出来的状态是(Detached); 如果你创建的screen窗口被其他连接到当前服务器的用户使用了,那么查出来的状态是(Attached)。这个时候你直接使用screen -r 窗口名称是进不去该窗口的。必须先使用-d选项将screen窗口和对方的会话断开。才能继续使用。

[root@imzcy ~]# screen -ls

There is a screen on:

9849.jboss-blog (Attached) //可以看到当前状态是Attached,说明可能正在被其他人使用

1 Socket in /var/run/screen/S-root.

[root@imzcy ~]#

[root@imzcy ~]# screen -r jboss-blog //这个使用直接使用screen -r是进入不到这个窗口的,会报下面的错误

There is a screen on:

9849.jboss-blog (Attached)

There is no screen to be resumed matching jboss-blog.

[root@imzcy ~]#

[root@imzcy ~]# screen -d jboss-blog //使用screen -d将制定screen窗口与会话分离

[9849.jboss-blog detached.]

[root@imzcy ~]#

[root@imzcy ~]# screen -r jboss-blog //这个是后就可以使用screen -r进入窗口了

[remote detached from 9849.jboss-blog] //对方那边会提示screen窗口被远程分离了

[root@imzcy ~]#

2、nohup使用举例

将jar包放到后台运行,并且重定向其错误输出和标准输出到当前目录下的blog.log文件中

[root@imzcy ~]# nohup java -jar blog-imzcy.jar >blog.log 2>&1 &

[1] 9900

[root@imzcy ~]#

使用tail -f查看运行状态

[root@imzcy ~]# tail -f blog.log

查看nohup运行jar包的进程号

[root@imzcy ~]# ps -ef |grep "\-jar"

linux 将任务挂到后台,linux下使用screen或则nohup将任务放到后台运行相关推荐

  1. linux中代码挂上n,Linux系统常用命令nl详解(示例代码)

    nl命令在linux系统中用来计算文件中行号.nl可以将输出的文件内容自动的加上行号!其默认的结果与cat -n有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能.本文 ...

  2. linux进程如何挂起自己,Linux Server HTTP进程每天挂起服务器

    我从LayeredTech租用一台 Linux VM,它是Xen Hypervisor的客户.操作系统是CentOS 5.3,运行Apache2.几乎每天我的服务器都会以这样的方式表现出来让我相信自己 ...

  3. linux 让暂停的进程恢复,Linux 下进程的挂起和恢复命令

    本文给大家介绍进程的挂起及恢复命令,具体内容如下所示: #ctrl+z:挂起,程序放到后台,程序没有结束. #jobs:查看被挂起的程序工作号 恢复进程执行时,有两种选择:fg命令将挂起的作业放回到前 ...

  4. linux后台执行命令:amp;与nohup的用法

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 大家可能有这样的体验:某个程序运行的时候,会产生大量的log,但实际上我们只想让它跑一下而已, ...

  5. 【OS】Linux命令如何放到后台运行

    [OS]Linux命令如何放到后台运行 linux命令后台运行  有两种方式:    1. command & : 后台运行,你关掉终端会停止运行    2. nohup command &a ...

  6. 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Oops在Linux 2.6内核+PowerPC架构下的前世今生

    Oops在Linux 2.6内核+PowerPC架构下的前世今生 Sailor_forever  sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人blo ...

  7. 什么是linux进程的挂起,linux挂起进程命令

    linux下进程的挂起和恢复都可以通过命令来实行,那么具体是哪个命令呢?下面由学习啦小编为大家整理了linux挂起进程命令的相关知识,希望大家喜欢! linux挂起进程命令 引言: 进程:正在执行的一 ...

  8. 【Linux系统理论操作学习26】LInux的后台运行,重定向输出,前后台进程转换和管理

    1 输出的后台运行 1.1 简单后台运行 nohup表示程序不被挂起 &表示后台运行程序 如果说使用&,就会出现问题:后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程 ...

  9. linux如何把命令放前台,Linux命令的前台或后台执行

    自然情况下,我们在Linux的terminal窗口里输入一个命令,回车执行,命令打印出结果,执行结束,命令提示符再次出现.这样的执行方式叫做前台执行. Linux命令的前台执行很常用,但是有个问题,就 ...

最新文章

  1. 渗透测试集成环境Faraday
  2. 人工智能、机器学习、数据挖掘著名会议
  3. 【阿里云OSS】访问控制
  4. 为什么我要用C写游戏 适合自己的才是最好的
  5. event.keycode值大全
  6. 渗透测试入门12之渗透测试简介
  7. 感情在钱面前一文不值,开公司谨记这6大规则
  8. 百度云盘免下载百度云盘全速下载方法
  9. eclipse-阶段三-Server被关闭后消失,如何打开
  10. 《从0到1学习Flink》—— 如何自定义 Data Source ?
  11. 14的虚拟机可以用在15上面吗_【Linux虚拟机】在Windows上安装Linux虚拟机
  12. Windows 和 Linux 上安装 TTF 字体的方法
  13. 交往了 19 年的兄弟,给我上了一课
  14. 河套学院2018级计算机一级考试,河套学院2018-2019学年本科生就业率
  15. 游戏策划入门(2)——如何写一份项目建议书?
  16. 2014年3月CCF软考试题
  17. 了解《诗歌生成》必看的6篇论文【附打包下载地址】
  18. 笔记三:ASP.NET MVC 添加一个新页面,运行显示HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
  19. 一看就懂的红黑树之红黑树的实现
  20. 基于 yolov5n6 和tkinker实现的检测模型的可视化界面

热门文章

  1. Mac生成ssh,并添加公钥到Github
  2. 留学计算机美国硕士,美国硕士留学计算机专业有哪些名校推荐下?
  3. 计算机英语词汇论文,【计算机英语论文】计算机英语词汇教育思索(共2137字)
  4. mysql 删除 like_MySQL 定时删除数据
  5. 启航龙图计算机网络,2020年哈尔滨工业大学854计算机基础考研大纲
  6. zb如何导出自己画的_如何科学管理zb文件
  7. idea设置关键字颜色_IDEA字体颜色快速导入辅助工具设置
  8. [NOI2002]荒岛野人 数论
  9. 使TextView里面的文字滚动起来
  10. 网页内容切换效果实现的15个jQuery插件