当我们需要让Python脚本在开机时自启动,可以使用以下两种方法实现:
方法一:使用init.d服务
- 创建一个service文件
首先需要创建一个service文件,其中包含运行脚本的命令及其他相关信息,如下:
#!/bin/bash
### BEGIN INIT INFO
# Provides: my_python_script
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: My Python Script
# Description: My Python Script
### END INIT INFO
cd /path/to/script/
exec python my_script.py
- 复制脚本文件并修改权限
将上面创建的service文件保存为“my_python_script”,并复制到/etc/init.d/
目录中,然后使用如下命令修改文件权限:
sudo chmod +x /etc/init.d/my_python_script
- 注册服务并设置开机启动
使用如下命令注册服务,并设置为开机启动:
sudo update-rc.d my_python_script defaults
此时,Python脚本会在开机时自启动。如果需要关闭脚本,可以使用如下命令:
sudo service my_python_script stop
方法二:使用crontab
- 编辑crontab文件
使用如下命令编辑crontab文件:
crontab -e
- 添加开机自启命令
在文件末尾添加如下命令:
@reboot /usr/bin/python /path/to/script/my_script.py >> /var/log/cron.log 2>&1
其中,/var/log/cron.log
是日志文件路径,用于记录Python脚本的运行情况。
- 保存并退出
保存文件并退出编辑器。
此时,Python脚本会在开机时自启动,并将运行情况记录到指定的日志文件中。
示例1:使用init.d服务实现
假设需要让位于/home/user/project/
路径下的Python脚本“my_script.py”在开机时自启动,可以按照以下步骤实现:
- 创建service文件
sudo nano /etc/init.d/my_python_script
输入以下代码:
#!/bin/bash
### BEGIN INIT INFO
# Provides: my_python_script
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: My Python Script
# Description: My Python Script
### END INIT INFO
cd /home/user/project/
exec python my_script.py
- 修改文件权限
sudo chmod +x /etc/init.d/my_python_script
- 注册服务并设置开机启动
sudo update-rc.d my_python_script defaults
这样,在Linux系统开机时,Python脚本“my_script.py”会自动运行。
示例2:使用crontab实现
假设需要让位于/home/user/project/
路径下的Python脚本“my_script.py”在开机时自启动并记录运行情况到日志文件“/var/log/my_script.log”,可以按照以下步骤实现:
- 编辑crontab文件
crontab -e
- 添加开机自启命令
在文件末尾添加如下命令:
@reboot /usr/bin/python /home/user/project/my_script.py >> /var/log/my_script.log 2>&1
- 保存并退出
保存文件并退出编辑器。
这样,在Linux系统开机时,Python脚本“my_script.py”会自动运行,并将运行情况记录到日志文件“/var/log/my_script.log”中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python脚本开机自启的实现方法 - Python技术站