screen命令

首先明确screen和bash终端有区别,如果不小心按了ctrl+a+d会停止向屏幕输出,此时需要ctrl+a+q才能输出

一.新建屏幕

四种方法

复制代码
#### 其中一种是为该页面新创建一个进程

* screen -dmS \<页面名\> **这种方法是为该页面新创建一个进程,
  类似于开启另一个tty(也是新创建一个进程)**
复制代码
#### 另外三种都是在当前screen进程下创建子进程

* screen -S \<页面名\> 这种方法是在当前bash进程下创建一个子进程
* screen
* 当前screen下使用ctrl+a+c

二.命令后台运行

  • 三种方法
    • 1.用之前linux-进程模块中的nohup命令
    • 2.在另一个tty上运行
    • 3.screen -dmS <页面名> bash -c "命令"

三.查看当前所有页面

screen -ls

四.永久关闭页面

首先明确

  • 每一个页面都是一个父或子进程
  • 在一个screen中新建其他的screen(除了用screen -dmS新建的),都是在作为当前screen的子进程

开始关闭

可以尝试
1.exit
2.ctrl+d
3.ctrl+a+X 关闭当前所在页面
3.screen -XS <页面名> quit
4.最后还不行就在ps -ef --forest,如下图我们可以看到使用dmS建的screen是一个父进程,在该screen下我们又建了一个screen作为其子进程,两个子进程bash一个是父screen的,一个是新建的screen的。
然后我们kill -9 2428即可,或者screen -ls本来就会列出进程号kill 进程号也可以

五.进程挂到前台

screen -r <屏幕号>

六.多终端同步操作方法

想要将一个终端的内容实时同步到多个终端

  • 1.保证每个终端都登录的同一个用户
  • 2.每个终端都只保留一个screen页面,可用screen查看
  • 3.每一个被操作终端都进入该页面,主操终端输入screen -x作为执行者即可多终端同步

七.临时折叠页面

1.ctrl+a+d

ctrl+a等效于vim中的:,然后输入d即可

2.screen -d <页面号>

不同点:

ctrl+a+d只能折叠当前打开的页面

screen -d可以选择想折叠的页面,而且它可以同时折叠多个登录终端页面

八.分屏操作

1.ctrl+a+shift+| 左右分屏

2.ctrl+a+S 上下分屏

3.ctrl+a+shift+" 重点掌握,查看当前attached主进程screen的所有子屏,因为前面已经说过,除了screen -dmS <屏幕名>之外创建的screen都是主进程screen的子屏。

相关推荐
天平8 小时前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript
原则猫9 小时前
前端基础大厦
前端
陈随易11 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
SoaringHeart11 小时前
Flutter进阶:基于 EasyRefresh 的下拉刷新封装 n_easy_refresh_mixin.dart
前端·flutter
IT_陈寒13 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰14 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
竹林81814 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花15 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu122715 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪16 小时前
Vue3-生命周期
前端