linux 将任务挂到后台,linux下使用screen或则nohup将任务放到后台运行
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将任务放到后台运行相关推荐
- linux中代码挂上n,Linux系统常用命令nl详解(示例代码)
nl命令在linux系统中用来计算文件中行号.nl可以将输出的文件内容自动的加上行号!其默认的结果与cat -n有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能.本文 ...
- linux进程如何挂起自己,Linux Server HTTP进程每天挂起服务器
我从LayeredTech租用一台 Linux VM,它是Xen Hypervisor的客户.操作系统是CentOS 5.3,运行Apache2.几乎每天我的服务器都会以这样的方式表现出来让我相信自己 ...
- linux 让暂停的进程恢复,Linux 下进程的挂起和恢复命令
本文给大家介绍进程的挂起及恢复命令,具体内容如下所示: #ctrl+z:挂起,程序放到后台,程序没有结束. #jobs:查看被挂起的程序工作号 恢复进程执行时,有两种选择:fg命令将挂起的作业放回到前 ...
- linux后台执行命令:amp;与nohup的用法
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 大家可能有这样的体验:某个程序运行的时候,会产生大量的log,但实际上我们只想让它跑一下而已, ...
- 【OS】Linux命令如何放到后台运行
[OS]Linux命令如何放到后台运行 linux命令后台运行 有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command &a ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Oops在Linux 2.6内核+PowerPC架构下的前世今生
Oops在Linux 2.6内核+PowerPC架构下的前世今生 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人blo ...
- 什么是linux进程的挂起,linux挂起进程命令
linux下进程的挂起和恢复都可以通过命令来实行,那么具体是哪个命令呢?下面由学习啦小编为大家整理了linux挂起进程命令的相关知识,希望大家喜欢! linux挂起进程命令 引言: 进程:正在执行的一 ...
- 【Linux系统理论操作学习26】LInux的后台运行,重定向输出,前后台进程转换和管理
1 输出的后台运行 1.1 简单后台运行 nohup表示程序不被挂起 &表示后台运行程序 如果说使用&,就会出现问题:后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程 ...
- linux如何把命令放前台,Linux命令的前台或后台执行
自然情况下,我们在Linux的terminal窗口里输入一个命令,回车执行,命令打印出结果,执行结束,命令提示符再次出现.这样的执行方式叫做前台执行. Linux命令的前台执行很常用,但是有个问题,就 ...
最新文章
- 渗透测试集成环境Faraday
- 人工智能、机器学习、数据挖掘著名会议
- 【阿里云OSS】访问控制
- 为什么我要用C写游戏 适合自己的才是最好的
- event.keycode值大全
- 渗透测试入门12之渗透测试简介
- 感情在钱面前一文不值,开公司谨记这6大规则
- 百度云盘免下载百度云盘全速下载方法
- eclipse-阶段三-Server被关闭后消失,如何打开
- 《从0到1学习Flink》—— 如何自定义 Data Source ?
- 14的虚拟机可以用在15上面吗_【Linux虚拟机】在Windows上安装Linux虚拟机
- Windows 和 Linux 上安装 TTF 字体的方法
- 交往了 19 年的兄弟,给我上了一课
- 河套学院2018级计算机一级考试,河套学院2018-2019学年本科生就业率
- 游戏策划入门(2)——如何写一份项目建议书?
- 2014年3月CCF软考试题
- 了解《诗歌生成》必看的6篇论文【附打包下载地址】
- 笔记三:ASP.NET MVC 添加一个新页面,运行显示HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
- 一看就懂的红黑树之红黑树的实现
- 基于 yolov5n6 和tkinker实现的检测模型的可视化界面
热门文章
- Mac生成ssh,并添加公钥到Github
- 留学计算机美国硕士,美国硕士留学计算机专业有哪些名校推荐下?
- 计算机英语词汇论文,【计算机英语论文】计算机英语词汇教育思索(共2137字)
- mysql 删除 like_MySQL 定时删除数据
- 启航龙图计算机网络,2020年哈尔滨工业大学854计算机基础考研大纲
- zb如何导出自己画的_如何科学管理zb文件
- idea设置关键字颜色_IDEA字体颜色快速导入辅助工具设置
- [NOI2002]荒岛野人 数论
- 使TextView里面的文字滚动起来
- 网页内容切换效果实现的15个jQuery插件