本站精选了一篇相关的编程文章,网友步甫文根据主题投稿了本篇教程内容,涉及到linux、开机自启动、python程序、代码、方法、linux开机自启动python程序的实例内容相关内容,已被238网友关注,相关难点技巧可以阅读下方的电子资料。
linux开机自启动python程序的实例内容
Linux下开机启动python脚本详解
应用场景:
最近在服务器上部署一些脚本,需要让其随服务器开机启动,于是研究了一下,begin . . .
解决方法:
1. 先准备好需要开机启动的脚本 /root/test/qin.py
2. 一定root权限编辑文件/etc/rc.local,在exit 0之前编辑开机启动脚本的命令
/usr/local/bin/python3 /root/test/qin.py > /root/test/qin.log exit 0
3. 需要检查前面的python3执行环境是否有问题,这里解释一下,/usr/local/bin/python3 和 /usr/bin/python3都可以,有时/usr/bin/python3可能不存在,可以用软连接ln -s /usr/local/bin/python3 /usr/bin/python3,然后就可以了
4. 最后直接reboot重启后,发现log生成
尝试结果:
通过Linux命令查看当今程序是否持续执行
ps -aux|grep 'qin.py'
linux开机执行python脚本
一、利用init
1、系统有相应的python解释器,并在脚本头部声明,例如:#!/usr/bin/python
2、给予该脚本可执行权限,如:chmod +x somescript.py
3、脚本接受第一个命令参数,需要能接受至少包含start的参数,至于stop、restart以及status等并不是必须的,你可以自己来扩展。如: ./somescript.py start 这种命令格式来启动程序
4、将该脚本放到/etc/rc.d/init.d/路径下
5、chkconfig --add somescript.py添加服务
6、chkconfig --level 3 somescript.py on 在init为3或5的级别上开机启动该服务
在运行chkconfig时,程序会报错,需要在文件中加入:
#chkconfig:- 85 15 #description:xxxx is a service
建议将init级别设置为3,因为设置为5时,会运行两次脚本。
后期发现,级别3也存在同样的问题。
二、利用systemd
编写device.service脚本
[Unit] Description=xxxx After=network.service [Service] Type=simple User=root Group=root WorkingDiretory=/var/www/html/app10 ExecStart=/usr/bin/python app.py [Install] WantedBy=multi-user.target
将该脚本复制到/etc/systemd/system/,将app.py脚本赋予执行权限:
chmod +x app.py
启动服务:
systemctl start app.service
查看服务状态:
systemctl status app.service
停止服务:
systemctl stop app.service