服务器远程连接,后台运行程序

一、nohup

用于让程序在后台持续运行,即使用户退出终端或断开 SSH 连接也不会中断。

复制代码
# 1. 启动一个 Python 脚本,并在后台运行
nohup python3 app.py &

# 启动一个 Web 服务
nohup node server.js &

& 表示放入后台运行
程序输出会默认写入当前目录下的 nohup.out 文件

-------------------------------------------------------------------------------
2. nohup python3 app.py > myapp.log 2>&1 &

>:重定向标准输出
2>&1:将错误输出也合并到日志中

python 程序文件输出到指定文件

复制代码
python -u app.py > a.log 2>&1

二、Tmux

Tmux是一个终端复用器,也可以用于后台运行程序。

  1. 安装

    Ubuntu or Debian

    sudo apt-get install tmux

    CentOS or Fedora

    sudo yum install tmux

    Mac

    brew install tmux

  2. session操作(会话/任务)

    在普通的终端中,窗口和其中由于session(任务)而启动的进程是连在一起的,关闭窗口,session就结束了,session内部的进程也会终止,不管是否运行完。

    tmux可以在命令窗口创建一个session,然后可以通过解绑操作 使其在后端持续运行。即使远程窗口关闭,该程序也仍然在执行,然后通过再次绑定可以查看其运行情况。

    1. 建立一个session

    tmux new -s your-session-name

    2. 然后便进入到了seesion窗口,就可以执行各自运行命令了(后端会持续运行该命令)

    python app.py

    3. 在tmux窗口中,按下ctrl+b d或者输入以下命令,就会将当前session与窗口分离(解绑),session转到后台执行:

    tmux detach

    4. 如果你想再次绑定该session(想再次进入看看app.py的运行情况/输出),可以使用命令:

    tmux attach -t your-session-name

    5. 杀死创建的session

    tmux kill-session -t your-session-name


    6. 你可以创建多个session进行切换

    tmux switch -t your-session-name

    7. 对创建的session可以重命名

    tmux rename-session -t old-session new-session

相关推荐
袁小皮皮不皮5 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
vsropy5 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
fofantasy5 小时前
NSK LH12AN 微型导轨技术手册
运维·网络·数据库·经验分享·规格说明书
coderwu6 小时前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
dxxt_yy6 小时前
千兆光/电口+OTDR一体——成都鼎讯 SZT-1000A 千兆以太网测试仪助力风电能源光缆管理
运维·服务器·能源
tedcloud1236 小时前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
凡人叶枫7 小时前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发
AI帮小忙7 小时前
Debian系linux操作系统里安装OpenClaw
linux·运维·debian
极创信息8 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
志栋智能9 小时前
超自动化巡检剧本(Playbook):运维经验的数字化封装
运维·自动化