如何让腾讯云应用服务器的程序一直运行?

这个问题的核心在于:当你在SSH终端直接运行程序时,程序是与当前终端会话绑定的。一旦你关闭SSH窗口或网络波动导致连接断开,程序就会收到终止信号并退出。

下面介绍一个生产环境的标准做法,程序会随系统启动,并由系统监控。

1.创建服务配置文件

复制代码
sudo nano /etc/systemd/system/video_relay.service

2.写入以下配置(根据你的实际路径和用户名调整):

复制代码
[Unit]
Description=ESP32 Video Relay Server
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/video_relay
ExecStart=/usr/bin/python3 /home/ubuntu/video_relay/video_relay_server.py
Restart=always  # 程序意外退出时自动重启
RestartSec=5    # 重启前等待5秒
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=video_relay

[Install]
WantedBy=multi-user.target

3.保存退出Ctrl+X, Y, 回车

当你按Ctrl+X,然后按Y后,应该会出现文件名确认界面。此时需要按回车键(Enter)才能真正保存。

这里说下其他的两种在服务器编辑的方法

方法1:使用tee命令直接创建(最简单)

复制代码
sudo tee /etc/systemd/system/video_relay.service > /dev/null << 'EOF'
[Unit]
Description=ESP32 Video Relay Server
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/video_relay
ExecStart=/usr/bin/python3 /home/ubuntu/video_relay/video_relay_server.py
Restart=always
RestartSec=5
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=video_relay

[Install]
WantedBy=multi-user.target
EOF

方法2:使用cat命令

复制代码
sudo cat > /etc/systemd/system/video_relay.service << 'EOF'
[Unit]
Description=ESP32 Video Relay Server
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/video_relay
ExecStart=/usr/bin/python3 /home/ubuntu/video_relay/video_relay_server.py
Restart=always
RestartSec=5
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=video_relay

[Install]
WantedBy=multi-user.target
EOF

4.重新加载 systemd 配置并启用服务

复制代码
sudo systemctl daemon-reload
sudo systemctl start video_relay.service    # 立即启动
sudo systemctl enable video_relay.service   # 设置开机自启

5.查看服务状态和日志

复制代码
sudo systemctl status video_relay.service
sudo journalctl -u video_relay.service -f   # 查看实时日志(类似你的调试输出)

6.管理命令

复制代码
sudo systemctl stop video_relay.service     # 停止
sudo systemctl restart video_relay.service  # 重启
sudo systemctl disable video_relay.service  # 取消开机自启
相关推荐
Sheffield5 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
DolitD10 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
翼龙云_cloud10 小时前
阿里云渠道商:阿里云 ECS 从安全组到云防火墙的实战防护指南
安全·阿里云·云计算
YongCheng_Liang10 小时前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
万物得其道者成11 小时前
阿里云 H5 一键登录接入实战:前后端完整实现
阿里云·云计算·状态模式
翼龙云_cloud1 天前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
阿里云大数据AI技术1 天前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算
摇滚侠1 天前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
m0_694845571 天前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信