whoami 查看得知当前用的是 root 用户,Python 脚本路径为:
/home/FileCodeBox/main.py
那么,我们现在来创建一个 systemd 服务来让它后台运行、自动重启、支持关机重启之后自启。
⸻
✅ 第一步:编写 systemd 服务文件
创建服务文件:
sudo nano /etc/systemd/system/filecodebox.service
把下面这段内容复制粘贴进去:
[Unit] Description=FileCodeBox Python Service After=network.target
[Service] User=root WorkingDirectory=/home/FileCodeBox ExecStart=/usr/bin/python3 /home/FileCodeBox/main.py Restart=always RestartSec=5 StandardOutput=append:/home/FileCodeBox/output.log StandardError=append:/home/FileCodeBox/error.log
[Install] WantedBy=multi-user.target
⸻
✅ 第二步:保存并启动服务 1. 重新加载 systemd 配置:
sudo systemctl daemon-reload
2. 启动服务:
sudo systemctl start filecodebox
3. 设置开机自启:
sudo systemctl enable filecodebox
⸻
✅ 第三步:查看运行状态与日志 • 查看服务状态:
sudo systemctl status filecodebox
• 实时日志查看(调试运行时很有用):
sudo journalctl -u filecodebox -f
⸻
🧠 可选检查:
如果脚本没执行成功,可通过以下命令查看错误详情:
sudo journalctl -xe
或者查看你设置的日志文件:
cat /home/FileCodeBox/error.log
⸻
🛑 注意事项:
检查点 说明 Python 路径 确保 /usr/bin/python3 是你实际的 Python 路径。可用 which python3 查看 日志权限 如果脚本写不了日志,可能是目录权限问题 虚拟环境 如果你用了虚拟环境,ExecStart 改成对应路径,如 /home/FileCodeBox/venv/bin/python
⸻
📝 Bonus 英文表达学习:
表达 中文意思 daemon service 守护进程服务 autostart on boot 开机自动启动 log output 日志输出 working directory 工作目录 restart on failure 异常退出后重启 systemd unit file systemd 服务单元文件
⸻