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

这个问题的核心在于:当你在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  # 取消开机自启
相关推荐
瞎某某Blinder10 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
byoass15 小时前
智巢AI知识库深度解析:企业文档管理从大海捞针到精准狙击的进化之路
开发语言·网络·人工智能·安全·c#·云计算
byoass19 小时前
企业云盘权限管理深度对比:巴别鸟、联想Filez、腾讯企微云盘
网络·安全·云计算·企业微信
翼龙云_cloud21 小时前
阿里云代理商:阿里云部署的Hermes Agent 钉钉接入指南
人工智能·阿里云·云计算·钉钉·ai 智能体·hermes agent
byoass21 小时前
企业云盘API集成指南:如何与CI/CD流水线打通
网络·安全·ci/cd·云计算
easy_coder1 天前
超越提示词:Context Engineering 在AI智能诊断中的应用
人工智能·云计算
easy_coder1 天前
ReAct Agent 陷入死循环?私有云部署诊断中的陷阱与破局之道
人工智能·云计算
手揽回忆怎么睡1 天前
本地服务镜像推送到阿里云ACR
阿里云·云计算
Inhand陈工1 天前
智能驾驶数据高可靠上云实战:EC3320+IR315双路冗余方案
网络·物联网·自动驾驶·智能路由器·边缘计算·腾讯云·信息与通信
byoass1 天前
企业云盘全文检索实战:Elasticsearch集成与分布式搜索
网络·分布式·安全·elasticsearch·云计算·全文检索