Ubuntu开机自启服务

发布于:2025-05-19 ⋅ 阅读:(21) ⋅ 点赞:(0)

一、准备启动脚本

  1. 在你的项目文件夹(例如 /home/ubuntu/Plant_Diease_Recongnization_Server_1)中创建一个启动脚本 run_ui_main.sh
#!/usr/bin/env bash
# run_ui_main.sh:激活 yolov8 环境并启动 ui_main.py

# 设置 Anaconda/Miniconda 的安装路径(根据实际路径修改)
CONDA_HOME="$HOME/miniconda3"

# 初始化 conda
source "${CONDA_HOME}/etc/profile.d/conda.sh"

# 激活指定环境
conda activate Plant_Detect

# 进入脚本所在目录(根据实际路径修改)
cd /home/ubuntu/Plant_Diease_Recongnization_Server_1

# 执行脚本,并将日志输出到文件
exec python ui_main.py >> /home/ubuntu/Plant_Diease_Recongnization_Server_1/ui_main.log 2>&1


# 注意需要提前创建log文件

sudo touch /home/ubuntu/Plant_Diease_Recongnization_Server_1/ui_main.log
sudo chmod 666 /home/ubuntu/Plant_Diease_Recongnization_Server_1/ui_main.log
  1. 然后赋予脚本可执行权限:
chmod +x /home/ubuntu/Plant_Diease_Recongnization_Server_1/run_ui_main.sh

二、创建 systemd 服务单元

/etc/systemd/system/ 下新建一个文件 ui_main.service,内容如下:

[Unit]
Description=Auto-start ui_main.py in yolov8 Conda env
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/ubuntu/Plant_Diease_Recongnization_Server_1
ExecStart=/bin/bash /home/ubuntu/Plant_Diease_Recongnization_Server_1/run_ui_main.sh
Restart=on-failure
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ui_main_py_service

[Install]
WantedBy=multi-user.target

三、启用并测试服务

  1. 重新加载 systemd 配置:
sudo systemctl daemon-reload
  1. 手动启动并检查状态:
sudo systemctl start ui_main.service
sudo systemctl status ui_main.service
  1. 设置开机自启:
sudo systemctl enable ui_main.service
  1. 查看运行日志:
sudo journalctl -u ui_main.service -f

四、停止与禁用服务

  1. 立即停止服务:
sudo systemctl stop ui_main.service
  1. 禁止开机自动启动:
sudo systemctl disable ui_main.service
  1. 验证服务状态:
# 检查是否已停止
systemctl status ui_main.service

# 检查是否禁用了开机启动
systemctl is-enabled ui_main.service

如果输出 disabled,则表示已禁止自动启动。


网站公告

今日签到

点亮在社区的每一天
去签到