Termux 连接云服务器后,实现程序后台持续运行的 4 种实用方案
本文最后更新于146 天前,其中的信息可能已经过时,如有错误请发送邮件到2778680280@qq.com

在通过 Termux SSH 连接云服务器后,直接运行程序会因断开连接或退出终端导致进程终止。本文整理 4 种高效方案,帮你实现程序后台常驻运行,适配不同使用场景,操作简单易落地。

一、前提准备:Termux 连接云服务器基础操作

1. 环境依赖安装

打开 Termux ,先更新软件源并安装 SSH 客户端:

plaintext

apt update && apt upgrade -y
pkg install openssh -y

2. SSH 连接命令

  • 默认端口(22 端口)连接:

plaintext

ssh 用户名@服务器IP
  • 自定义端口连接(如端口 2222):

plaintext

ssh 用户名@服务器IP -p 端口号

输入命令后按提示输入服务器密码,验证通过即可成功连接。

二、程序后台常驻运行方案(按易用性排序)

方案 1:nohup 命令(适合一次性任务,零学习成本)

核心作用

忽略 SSH 断开的挂断信号,搭配后台运行参数,直接让程序脱离终端常驻,适合临时运行脚本、简单程序。

基础使用命令

plaintext

nohup 程序运行命令 &
  • 示例(运行 Python 脚本):

plaintext

nohup python app.py &
  • 进阶用法(指定日志输出路径,方便排查问题):

plaintext

nohup python app.py > app.log 2>&1 &
  • > app.log:将程序输出日志写入 app.log 文件
  • 2>&1:将错误日志合并到正常日志中
  • &:后台运行标识

关键操作

  • 实时查看日志:

plaintext

tail -f app.log
  • 终止进程:先通过以下命令找到进程 ID:

plaintext

ps aux | grep 程序名

再执行(替换为实际进程 ID):

plaintext

kill -9 进程ID

方案 2:disown 命令(适合已启动的前台进程,补救专用)

核心作用

针对已在前台启动的程序,无需终止进程即可补救为后台常驻,避免程序重启损失数据。

操作步骤

  1. 前台程序运行中,按 Ctrl + Z 暂停进程(终端会提示进程序号,如 [1]+ 已停止);
  2. 输入命令将进程转入后台运行(替换为实际进程序号):

plaintext

bg %进程序号  # 示例:bg %1
  1. 输入命令让进程脱离 SSH 会话,实现常驻:

plaintext

disown %进程序号  # 示例:disown %1

方案 3:screen 命令(适合长期任务,支持会话复用)

核心作用

创建独立终端会话,进程运行在会话内,断开 SSH 后会话持续存在,可重新连接会话查看程序状态,适合长期运行的服务类程序。

完整操作流程

  1. 安装 screen(服务器未预装时执行):
  • Debian/Ubuntu 系统:

plaintext

sudo apt-get install screen -y
  • CentOS/RHEL 系统:

plaintext

sudo yum install screen -y
  1. 创建新会话(指定会话名,方便后续管理):

plaintext

screen -S 会话名  # 示例:screen -S webapp
  1. 在新会话内运行程序(如启动服务):

plaintext

python app.py
  1. 分离会话(保持程序运行,返回原终端):按 Ctrl + A 后再按 D
  2. 重新连接会话(查看程序状态、操作进程):

plaintext

screen -r 会话名  # 示例:screen -r webapp
  1. 会话管理常用命令:
  • 查看所有会话:

plaintext

screen -ls
  • 强制连接卡死会话:

plaintext

screen -D -r 会话名
  • 关闭会话(终止内部进程):进入会话后按 Ctrl + D

方案 4:tmux 命令(功能增强版终端复用,适合多任务管理)

核心作用

功能比 screen 更强大,支持窗口分割、会话共享,稳定性更高,适合需要同时管理多个后台程序的场景。

完整操作流程

  1. 安装 tmux(服务器未预装时执行):
  • Debian/Ubuntu 系统:

plaintext

sudo apt-get install tmux -y
  • CentOS/RHEL 系统:

plaintext

sudo yum install tmux -y
  1. 创建新会话(指定会话名):

plaintext

tmux new -s 会话名  # 示例:tmux new -s server
  1. 在会话内运行程序,如需多窗口操作:按 Ctrl + B 后按 C 新建窗口;
  2. 分离会话(程序后台运行):按 Ctrl + B 后按 D
  3. 重新连接会话:

plaintext

tmux attach -t 会话名  # 示例:tmux attach -t server
  1. 常用管理命令:
  • 查看所有会话:

plaintext

tmux ls
  • 切换会话:

plaintext

tmux switch -t 会话名
  • 关闭会话:

plaintext

tmux kill-session -t 会话名

三、场景适配推荐

方案适用场景优势劣势
nohup一次性脚本、临时任务操作简单,无需安装额外工具进程管理不便,无会话复用
disown已启动的前台进程补救无需重启程序,快速补救仅适合临时补救,功能单一
screen长期单任务、简单会话管理稳定易用,适配多数场景功能较基础,无窗口分割
tmux多任务管理、复杂场景功能强,支持窗口分割 / 共享需记忆基础快捷键

四、注意事项

  1. 程序运行前需确认服务器资源充足(内存、CPU),避免进程因资源不足被系统终止;
  2. 长期运行的程序建议配置日志输出,方便后续排查异常;
  3. 若使用自定义 SSH 端口,需确保服务器安全组 / 防火墙已放行对应端口,避免连接失败;
  4. 如需重启服务器,可搭配 crontab 实现程序开机自启,确保进程持续运行。

文末附加内容

评论

  1. A
    Android Chrome
    5 月前
    2025-12-01 2:16:16

    我只会screen

发送评论 编辑评论


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