[root@tieba ~]# nohup sleep 100 & //后台执行 并产生一个文件在当前目录下
[root@tieba ~]# screen //开启一个虚拟终端
[root@tieba ~]# top
ctrl+A+D 切换回之前的终端 但是这个虚拟终端还是会保存
[root@tieba ~]# screen
[root@tieba ~]# vmstat
[root@tieba ~]# ps aux |grep -E 'top|vmst' 查看top和vmst进程 -E就是支持更多的正则 |就是或的意思
[root@tieba ~]# screen -ls //查看当前运行的进程号
[root@tieba ~]# screen -r 23318 //指定进入一个pid
crtl+d 退出当前终端 或exit
[root@tieba ~]# screen -S 哈哈 //指定一个名字
[root@tieba ~]# screen -r 哈哈 //可以进入这个虚拟终端下
总结:当一个命令执行时间长,可以放在虚拟终端下执行,下次可以查看到这个进程并进去看下。
nohup不会中断的文件
ps aux |grep -E 'top|vmst' 查看top和vmst进程 -E就是支持更多的正则 |就是或
screen -r 2366 进入这个ID终端
screen -S(自定义名字) text1 自定义名字
screen其实就是linux虚拟终端,你可以用它创建很多虚拟终端,每个终端可以创建1~10个窗口,每个窗口相当于一个linux shell窗口,可以执行的操作和正常shell完全一样。
CentSO安装命令:yum install -y screen
Debian/Ubuntu安装命令:apt-get install -y screen
【终端操作】 (需要在物理shell中操作)
screen:创建一个虚拟终端并且登录之
screen -ls:列出当前所有虚拟终端
screen [-d] -r sessionid:进入指定的虚拟终端
【终端中的窗口操作】(挂载某个终端)
Ctrl-a c 新建 bash screen 终端
Ctrl-a d 退出窗口
Ctrl-a " 列出
Ctrl-a A 重命名
Ctrl-a n 在当前窗口中切换到下一个 screen 终端
Ctrl-a p 在当前窗口中切换到上一个 screen 终端
Ctrl-a 空格 窗口切换
Ctrl+a w :窗口列表
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换
Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
Ctrl-a d 断开所有 screen 终端,返回 screen 执行前状态,但 screen 内所有终端的任务都在执行
screen -ls 列出当前用户的所有 screen 实例,包括联接和断开的
screen -R <pid> 重新联接到已断开的 screen 实例,如果有多个已断开的 screen 实例,则用 <pid> 区分
Ctrl-a S 新建水平分割窗口
Ctrl-a Tab 切换窗口
Ctrl-a X 关闭当前窗口
Ctrl-a + 扩大当前窗口,默认增加3行
Ctrl-a - 缩小当前窗口,默认减小3行
Ctrl-a :screen <command> 新建 screen 终端,并运行命令<command>
Ctrl-a :resize <height> 改变当前窗口高度为<height>
Ctrl-a :quit 退出 screen,将关闭所有 screen 终端,结束其中所有任务
Ctrl-a <Esc> 进入选择模式
<PageUp> 或 Ctrl-u 光标上移一页
<PageDown> 或 Ctrl-d 光标下移一页
<Left> 或 h 光标左移一格
<Down> 或 j 光标下移一行
<Up> 或 k 光标上移一行
<Right> 或 l 光标右移一格
<Space> 选择开始,选择结束
<Esc> 退出选择模式
Ctrl-a ] 粘贴选择的内容
【友情提醒】
.screenrc,仅供参考。
#
# ~/.screenrc
#
# 启动时不显示欢迎屏幕
startup_message off
# 定义screen的功能键为Ctrl-Z。向终端输入Ctrl-Z时应按 Ctrl-Z z。
escape ^Zz
# 屏幕缓冲区 1024 行。
defscrollback 1024
# 在最下一行显示窗口列表和时钟
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rY}%n %t%{-}%+w %=%{..G} %H(%l) %{..Y} %Y/%m/%d %c:%s "
# 关闭错误提示
vbell off
# 按 Ctrl-Z w 或 Ctrl-Z Ctrl-W 显示窗口列表
bind w windowlist -b