1. 创建一个名为 model_ai.service 的文件,并将其放置在 /etc/systemd/system/ 目录中。
2. 命令创建和编辑文件
sudo vim /etc/systemd/system/model_ai.service
3. 在打开的编辑器中,添加以下内容:
[Unit]
Description=Model AI Python Script
After=network.target[Service]
Type=simple
ExecStart=/usr/bin/python3 /var/model_algorithm_package/model_ai.py
WorkingDirectory=/var/model_algorithm_package
Restart=always
RestartSec=3
Environment="LD_LIBRARY_PATH=/var/model_algorithm_package/lib/"[Install]
WantedBy=multi-user.target
在这个服务文件中:
Description
是描述服务的简短说明。
After=network.target
指定了服务应在网络服务启动后启动。
Type=simple
指定了服务的类型为简单类型,这意味着 systemd 不会管理服务的 fork、通信或其他复杂行为。
ExecStart
是启动服务时要执行的命令,这里指定为启动你的 Python 脚本。
WorkingDirectory
是指定服务工作目录,这里设置为你的 Python 脚本所在的目录。
Restart=always
表示如果服务意外停止,systemd 将自动重新启动服务。
RestartSec=3
表示在服务停止后,系统将等待 3 秒后尝试重新启动服务。
WantedBy=multi-user.target
指定了服务应在多用户模式下启动。
保存并关闭文件后,使用以下命令重新加载 systemd 配置:
sudo systemctl daemon-reload
启动这个服务并设置为在系统启动时自动启动:
sudo systemctl start model_ai
sudo systemctl enable model_ai
Python 程序将会以服务的形式在系统启动时自动启动,并持续运行。
需要手动停止服务:
sudo systemctl stop model_ai
需要查看服务的状态:
sudo systemctl status model_ai
查看服务运行日志与实时日志:
sudo journalctl -u model_ai
sudo journalctl -u model_ai -f
重新加载 systemd 守护进 然后再次重启生效:
sudo systemctl daemon-reload
sudo systemctl restart model_ai.service
单元服务成功运行状态: