Skip to content

🚀 Linux 后台运行入门指南:掌握 nohup、tmux 和 screen

在 Linux 系统中,我们经常需要在终端运行一些耗时较长的任务,例如:

  • 下载大文件
  • 运行服务器程序
  • 执行数据备份
  • 编译大型项目

如果直接在前台运行:

  • 终端会被占用
  • SSH 断开 / 终端关闭,程序可能直接被杀掉 ❌

为了解决这些问题,Linux 提供了多种 后台运行机制

本文介绍三种最常见、最实用的方式:

  • nohup + &
  • tmux
  • screen

并通过简单示例帮助你快速上手 👍

一、nohup + &:简单粗暴的后台运行

1️⃣ 基本概念

  • &: 将命令放到后台运行

  • nohup(no hang up): 忽略 SIGHUP 信号,终端关闭后进程仍然存活

✅ 组合效果

bash
nohup command &

含义是:

后台运行命令 + 忽略终端挂断

2️⃣ 示例:后台运行 sleep

bash
nohup sleep 60 &

输出示例:

text
[1] 1234
nohup: ignoring input and appending output to 'nohup.out'

说明:

  • [1]:作业号(job id)
  • 1234:进程 PID
  • 输出默认写入 nohup.out

👉 即使关闭终端,sleep 60 仍会继续执行

3️⃣ 查看输出

bash
cat nohup.out

或者实时查看:

bash
tail -f nohup.out

4️⃣ 优点 & 局限

优点 ✅

  • 极其简单
  • 几乎所有 Linux 系统自带
  • 资源占用极低

局限 ❌

  • ❌ 无法恢复会话
  • ❌ 不支持交互式程序
  • ❌ 不适合复杂任务管理

📌 适用场景

  • 简单脚本
  • 一次性后台任务
  • 不需要交互、不关心过程

二、tmux:强大的终端会话管理器 ⭐(强烈推荐)

tmuxTerminal Multiplexer(终端复用器),不仅能后台运行,更擅长 会话管理

1️⃣ tmux 能做什么?

  • 会话持久化(断线不怕)
  • 一个终端管理多个窗口
  • 窗口分屏(pane)
  • 多人共享同一会话(远程协作)

2️⃣ 核心概念

text
tmux server
└── Session
    ├── Window
    │   ├── Pane
    │   └── Pane
    └── Window
  • Session:一个完整工作空间
  • Window:类似浏览器标签页
  • Pane:窗口内的分屏

3️⃣ 示例:用 tmux 运行 top

创建会话

bash
tmux new-session -s mytmux

直接执行 tmux 也可以。

运行命令

bash
top

分离会话(后台运行)

text
Ctrl + b  d

重新连接

bash
tmux attach -t mytmux

或者:

bash
tmux a

4️⃣ 常用快捷键速查表

操作快捷键
分离会话Ctrl + b d
新窗口Ctrl + b c
下一个窗口Ctrl + b n
上一个窗口Ctrl + b p
横向分屏Ctrl + b %
纵向分屏Ctrl + b "
面板切换Ctrl + b ←↑↓→
关闭面板Ctrl + b x

5️⃣ 优点 & 局限

优点 ✅

  • 会话永久存在
  • 功能极其强大
  • 非常适合远程运维 / 开发

局限 ❌

  • 学习成本略高
  • 需要安装

📌 适用场景

  • 长时间开发 / 训练任务
  • 远程服务器运维
  • 多窗口并行操作
  • 团队协作

👉 强烈推荐作为主力工具 😄

三、screen:历史悠久的终端复用器

screen 是 tmux 的“前辈”,功能相似,但略显老旧。

1️⃣ 示例:使用 screen 运行 ping

bash
screen -S myscreen

运行:

bash
ping baidu.com

分离:

text
Ctrl + a d

重连:

bash
screen -r myscreen

2️⃣ 常用快捷键

操作快捷键
分离会话Ctrl + a d
新窗口Ctrl + a c
窗口列表Ctrl + a "
关闭窗口Ctrl + a k

3️⃣ 优点 & 局限

优点 ✅

  • 老系统几乎必装
  • 稳定、兼容性好

局限 ❌

  • 分屏能力弱
  • 用户体验不如 tmux
  • 功能较少

四、后台运行方式对比 📊

特性nohup + &tmux / screen
会话持久性
会话恢复
多窗口管理
交互式程序
安装成本tmux 需安装
学习成本极低中等

五、如何选择?🤔

✅ 推荐方案

  • 首选:tmux

    • 功能全面
    • 开发 / 运维神器
  • 备选:nohup + &

    • 简单脚本
    • 一次性任务
  • 特定环境:screen

    • 老系统
    • 已经习惯 screen

🎯 总结

新手用 nohup,进阶必学 tmux

.