当前位置:首页 > 技术 > 正文内容

linux screen 用法详情 (nohup 的替代方案)

代码老兵 技术 16

一、screen 是什么?能干嘛?

screen 是一个终端复用器,可以:

  • 在一个 SSH 会话中开多个“虚拟终端”

  • SSH 断线后,程序仍然在后台运行

  • 随时重新连接到原来的会话

  • 特别适合:

    • nohup 的替代方案

    • 跑脚本 / 爬虫 / 训练模型

    • 运维、远程开发


二、安装 screen

# CentOS / Rocky / Alma
yum install -y screen

# Debian / Ubuntu
apt install -y screen

# 查看版本
screen --version

三、最常用的 5 个命令(必会)

1. 创建一个 screen 会话

screen

或带名字(强烈推荐)👇

screen -S mytask

2. 查看所有 screen 会话

screen -ls

示例:

There are screens on:
   1234.mytask   (Detached)
   5678.test     (Attached)

3. 从 screen 中“安全退出”(不结束任务)

这是重点

按键顺序:

Ctrl + A  然后按 D

效果:

  • 你回到普通 shell

  • screen 中的程序继续运行(Detached)


4. 重新进入 screen 会话

screen -r

或指定名称 / ID:

screen -r mytask
screen -r 1234

5. 结束 screen 会话

在 screen 内部执行:

exit

Ctrl + D


四、screen 快捷键大全(核心)

screen 的前缀键是:Ctrl + A

操作快捷键
分离当前会话Ctrl + AD
创建新窗口Ctrl + AC
下一个窗口Ctrl + AN
上一个窗口Ctrl + AP
窗口列表Ctrl + A"
关闭当前窗口Ctrl + AK
重命名窗口Ctrl + AA
查看帮助Ctrl + A?

五、screen 多窗口示例(非常实用)

screen -S dev
  • Ctrl + AC:新窗口(跑服务)

  • Ctrl + AC:再开一个(tail 日志)

  • Ctrl + A":选择窗口

  • Ctrl + AA:改窗口名

你就能在一个 SSH 里管理多个任务


六、screen + 后台任务(替代 nohup)

传统 nohup(不推荐)

nohup php artisan queue:work &

推荐 screen 用法

screen -S queue
php artisan queue:work
Ctrl + A → D

优点:

  • 能随时回来看输出

  • 能 Ctrl+C 停止

  • 能交互


七、强制接管 / 踢掉别人会话

会话被“占用”时

screen -r mytask

提示:

There is a screen on:
   1234.mytask (Attached)

强制接管:

screen -d -r mytask

八、screen 日志(保存输出)

screen -L

或在会话中:

Ctrl + A → H

日志文件:

screenlog.0


标签: screennohup

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。