使用 systemd 设置开机自启动 systemd 是现代Linux发行版的初始化系统和服务管理器,它可以用来配置开机时自动启动Python脚本。 步骤: 创建一个 systemd 服务单元文件。例如,假设你的脚本路径是 /home/user/myscript.py,你可以创建一个自定义的 systemd 服务文件。 创建一个新的服务单元文件: sudo nano /etc/systemd/system/myscript.service 在文件中输入以下内容: [Unit] Description=My Python Script [Service] ExecStart=/usr/bin/python3 /home/user/myscript.py Restart=always User=user # 这里的user是执行脚本的用户 WorkingDirectory=/home/user StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target 这里的 ExecStart 是运行 Python 脚本的命令,Restart=always 确保脚本崩溃时会自动重启,User 是运行脚本的用户(你可以根据需要修改)。 使 systemd 重新加载配置文件并启动服务: sudo systemctl daemon-reload sudo systemctl enable myscript.service # 开机启动 sudo systemctl start myscript.service # 立即启动 可以通过以下命令查看脚本的运行状态: sudo systemctl status myscript.service 2. 使用 cron 配置开机自启动 cron 是Linux中的定时任务工具,使用它的 @reboot 选项可以在每次系统启动时运行指定的脚本。 步骤: 编辑当前用户的 cron 配置文件: crontab -e 在文件末尾添加以下行: @reboot /usr/bin/python3 /home/user/myscript.py 保存文件并退出。系统启动后,Python脚本会自动运行。 3. 使用 rc.local (适用于较旧的Linux系统) 在一些老旧的Linux系统中,/etc/rc.local 文件用于执行开机时的脚本。现代Linux系统可能不再支持 rc.local,但你仍然可以尝试这种方法。 步骤: 编辑 rc.local 文件: sudo nano /etc/rc.local 在文件的 exit 0 之前添加: /usr/bin/python3 /home/user/myscript.py & 保存并退出,确保 /etc/rc.local 文件具有执行权限: sudo chmod +x /etc/rc.local 这样系统启动时会执行该Python脚本。 4. 使用 init.d (传统方式) 在老旧的Linux系统中,init.d 也可以用来管理服务。 创建一个新的脚本文件在 /etc/init.d/ 目录下: sudo nano /etc/init.d/myscript 在文件中写入如下内容(以Debian/Ubuntu为例): #!/bin/bash ### BEGIN INIT INFO # Provides: myscript # Required-Start: $local_fs $network $remote_fs $syslog # Required-Stop: $local_fs $network $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start my Python script at boot time ### END INIT INFO /usr/bin/python3 /home/user/myscript.py & 保存并关闭文件,赋予执行权限: sudo chmod +x /etc/init.d/myscript 启动脚本并使其在开机时自启: sudo update-rc.d myscript defaults