技术文章
当前位置:首页 > Python技术文章 > linux开机自启动python程序的实例内容

linux开机自启动python程序代码方法

  • 发布时间:
  • 作者:码农之家原创
  • 点击:131

这篇文章主要知识点是关于linux、开机自启动、python程序、代码、方法、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

精通Python自然语言处理(Deepti)
  • 类型:Python大小:16 MB格式:PDF出版:人民邮电出版社作者:印度
立即下载

更多Python相关的学习资源可以参阅 Python电子书程序设计电子书 等栏目。

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

 

以上就是本次给大家分享的关于Python的全部知识点内容总结,大家还可以在下方相关文章里找到python字符串与url编码转换、 python里dict变成list的实例方、 Python3结合Dlib实现人脸识别、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:python json数据怎么写入文件

下一篇:python学生管理系统id号不能重复典型问题

展开 +

收起 -

相关电子书
学习笔记
网友NO.671822

Linux下安装python3.6和第三方库的教程详解

Linux下安装Python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一、安装python3.6 1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 2.下载Python3 https://www.python.org/downloads/# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz 3.安装python3 我个人习惯安装在/usr/local/python3(具体安装位置看个人喜好) 创建目录: # mkdir -p /usr/local/python3 解压下载好的Python-3.x.x.tgz包(具体包名因你下载的Python具体版本不不同⽽而不不同,如:我下载的是Python3.6.1.那我这里就是Python-3.6.1.tgz) # tar -zxvf Python-3.6.1.tgz 4.进入解压后的目录,编译安装。 # cd Python-3.6.1# ./configure --prefix=/usr/local/py……

网友NO.712630

学python需要学linux吗

不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux? 首选答案是肯定的,Python开发可以在Windows下开发,但是Linux学习仍然是必须的。 线上服务器一般是linux 一般在生产环境中,服务器基本都是Linux的,比如centos,红帽,ubuntu等linux系统,为什么服务器用linxu居多?比如其中一点肯定是安全啊,我们听过Windows经常死机,被勒索病毒入侵要支付比特币,但是这些在Linux下却不经常发生,其他也有很多原因可以网上查找,所以生产环境的Python脚本都是在linux系统上部署的,但是开发的话,考虑到操作的方便,Windows或者Mac下不仅仅有图形界面,而且性能也会好些,操作起来比较容易,快捷,毕竟使用过乌班图的都知道,装虚拟机还是对电脑性能有一定要求的,电脑配置跟不上的话,用……

网友NO.482354

linux无法联网怎么下载python

有时候在无法联网的情况下需要搭建环境,且必须使用之前的环境,因为你的代码需要在同样的环境下运行。这样方便开发 方法一: 1.下载指定的包到指定文件夹。 pip list #查看安装的包 pip freeze requirements.txt 将已经通过pip安装的包的名称记录到 requirements.txt文件中 创建存放安装包的目录:mkdir /packs pip install --download /packs pandas(存放一个pandas包) 或 pip install --download /packs -r requirements.txt(存放requirements.txt列出的所有包)2.安装指定的离线包 pip install --no-index --find-links=/packs/ pandas 或 pip install --no-index --find-links=/packs/ -r requirements.txt (也可能是 --find-link) 但是这种方法经过本人测试会出现很多问题,比如在 pip install --download /packs -r requirements.txt该操作可能会出现无法下载某些包,而且下载完成包后在新的服务器上安装可能缺少依赖关系安装不成功。 方法二:……

网友NO.746896

局域网内python socket实现windows与linux间的消息传送

有个需求,就是在windows上看见一篇介绍linux相关的文章,想在局域网内的另外一台linux电脑上尝试一下, 于是就需要把该网页链接发送给linux,不想一点一点敲链接,又苦于没有找到其它好的方法。 想起之前学习计算机网络时了解到的socket,于是再次打开课本,代码(python3)如下: 客户端(windows)代码: # 局域网内的windows客户端from socket import * #导入socket里的所有东西serverName = '127.0.0.1' #换成局域网内服务器端IP即可实现局域网内通信serverPort = 12001 #服务器端口,除了已知的被占用端口都可,一般建议10000-65535clientSocket = socket(AF_INET,SOCK_DGRAM) #UDP连接#ipv4 udpwhile True: message = input('please input: \n') if (message == '0'): #输入0时结束发送 break clientSocket.sendto(message.encode(),(serverName,serverPort)) #向服务器发送消息,使用socket时,只能以字节形式传送,故需要encode() reply……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

版权投诉 / 书籍推广 / 赞助:520161757@qq.com

上传资源(网友、会员均可提供)

查看最新会员资料及资源信息