Linux screen命令

screen是一个终端复用工具,用于在ssh中新建多个窗口,可用于后台运行,在screen运行的程序就算ssh中断也会继续运行。

为了方便讨论,我们把登录ssh后显示的终端界面称之为main会话,screen命令所建立的会话称之为screen会话。

Ubuntu安装

sudo apt install screen

CentOS安装

yum install screen

命令格式(注意大小写)

screen [-opts] [cmd [args]]

ssh登录linux系统,进入main会话。

  • 列出所有screen会话
screen -ls
#当前没有任何会话产生

  • 新建一个screen,并欸切换过去。此会话名称随机,单独不加参数的screen命令只能在main会话中使用
screen
#此时新建了一个pid为45833 ,名为pts-0.ubuntu的screen会话

会话的两种状态:

Attached(已附加)

  • 表示会话你正在使用该会话或其他人用共享了此会话。
  • 处于Attached状态的会话无法通过screen -r命令返回。需要先让会话保持分离状态screen -d

Detached(已分离)

  • 表示会话正在后台运行,未连接到任何终端。
  • 处于Detached状态的会话可通过screen -r命令返回。

  • 新建名为name的screen会话并切换进去。
screen -S [name]

#新建一个名为test的screen会话
screen -S test
#新建一个名为test2的screen会话
screen -S test2

由于没有进行会话分离操作,这种嵌套创造会让所有的screen会话保持为Attached状态。


  • 回到某个screen会话
screen -r [pid/name]
  • 先尝试回到某screen会话,若不存在则创建
screen -R [name]

处于Attached状态的会话无法通过screen -rscreen -R命令返回。

#会提示There is no screen to be resumed matching 47077
screen -r 47077

  • 指定作业离线
screen -d [pid/name]
#指定pid为47077的screen会话离线,名为test的会话变为Detached状态。
screen -d 47077

当screen会话处于前台运行时,快捷键Ctrl + a + d可直接使会话转换为Detached状态


  • 退出当前会话
当screen会话处于前台运行时,
exit
或快捷键Ctrl + d可直接退出。

screen多窗口管理。

窗口和screen会话不是一个概念,main会话中无此功能。当处于screen会话中时可创建多个窗口并切换使用

当前处于名为test的screen会话中

  • 创建新窗口输

Ctrl + a + c

创建新窗口输入test1以作标记

再次按下Ctrl + a + c 创建新窗口输入test2以作标记

  • 切换到上一个窗口(循环切换)
Ctrl + a + p 

按下Ctrl + a + p便切换回test1,注意连续切换时所有按键都要松开后再按下。

  • 切换到下一个窗口(循环切换)
Ctrl + a + n

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇