Ubuntu开机自启动Python程序教程

1. 整体流程

下面是在Ubuntu系统上实现开机自启动Python程序的整体流程:

journey

section 创建启动脚本和服务文件
  step 1 创建Python脚本
  step 2 创建启动脚本
  step 3 创建服务文件

section 设置系统服务
  step 4 将启动脚本拷贝到系统目录
  step 5 设置启动脚本权限
  step 6 将服务文件拷贝到系统目录
  step 7 重新加载服务列表

section 设置开机自启动
  step 8 启用服务
  step 9 重启系统

section 完成

2. 操作步骤

2.1 创建启动脚本和服务文件

首先,我们需要创建一个Python脚本,用于启动我们的程序。假设我们的Python脚本名为my_program.py,它位于/path/to/my_program.py

接下来,创建一个启动脚本,用于调用Python脚本。假设我们的启动脚本名为start_my_program.sh,它位于同样的目录/path/to/start_my_program.sh。启动脚本的内容如下:

#!/bin/bash
python3 /path/to/my_program.py

最后,我们需要创建一个服务文件,用于将启动脚本作为系统服务运行。假设我们的服务文件名为my_program.service,它位于/etc/systemd/system/my_program.service。服务文件的内容如下:

[Unit]
Description=My Program
After=network.target

[Service]
ExecStart=/path/to/start_my_program.sh
WorkingDirectory=/path/to/
Restart=always
User=<your_username>

[Install]
WantedBy=multi-user.target

请注意替换<your_username>为你的用户名。

2.2 设置系统服务

接下来,我们将启动脚本和服务文件拷贝到系统目录,并设置相应的权限。

首先,将启动脚本拷贝到系统目录:

sudo cp /path/to/start_my_program.sh /usr/local/bin/

然后,设置启动脚本的权限:

sudo chmod +x /usr/local/bin/start_my_program.sh

接着,将服务文件拷贝到系统目录:

sudo cp /etc/systemd/system/my_program.service /etc/systemd/system/

最后,重新加载服务列表:

sudo systemctl daemon-reload

2.3 设置开机自启动

现在,我们可以启用服务,并重启系统以验证设置是否生效。

启用服务:

sudo systemctl enable my_program

重启系统:

sudo reboot

3. 完成

恭喜!你已经成功实现了Ubuntu开机自启动Python程序。每次系统启动时,你的Python程序将自动运行。

请注意,在你的Python脚本中,可能需要指定绝对路径来引用其他文件或资源,以确保它们能够正确加载。

希望上述教程对你有所帮助,祝你在开发的路上越走越远!