diff --git a/read.txt b/read.txt new file mode 100644 index 0000000..c7b8c7b --- /dev/null +++ b/read.txt @@ -0,0 +1,116 @@ +使用 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 \ No newline at end of file