标签分类
技术文章
当前位置:主页 > 计算机编程 > python > linux开机自启动python程序的实例内容

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

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

linux开机自启动python程序的实例内容

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

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

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 json数据怎么写入文件

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

展开 +

收起 -

学习笔记
网友NO.851657

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/python3 make# make make install make install 或者 make make install 5.建立python3的软链 # ln -s /usr/local/python3/bin/python3 /usr/bin/python3 6.并将/usr/local/python3/bin加入PATH # vim ~/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/bin:/usr/local/python3/binexport PATH 按ESC,输入:wq回车退出。 修改完记得执行行下面的命令,让上一步的修改生效:……

网友NO.417202

学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下不仅仅有图形界面,而且性能也会好些,操作起来比较容易,快捷,毕竟使用过乌班图的都知道,装虚拟机还是对电脑性能有一定要求的,电脑配置跟不上的话,用乌班图也会很卡顿,而一般服务器级别的系统都是字符型界面,就是咱们传说中的黑屏,如果你想在linux服务器上开发也是可以的,只不过比较麻烦,对代码水平和操作熟练度要求很高。 部署 线上部署经常会遇到部署到服务器上后调试代码的问题,一般在调试过程中,开发人员会经常性的来回切换目录,查找文件,用VI来修改代码,这些常规的操作,都是一名python开发工程师……

网友NO.741711

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该操作可能会出现无法下载某些包,而且下载完成包后在新的服务器上安装可能缺少依赖关系安装不成功。 方法二: 那就是利用集成环境---Anaconda,这个安装的话超级简单,因为这是一个封装好的环境,你之后下载安装的python第三方包都在这个环境下,这样你只需把安装好的Anconda包拷贝到未联网的服务器下就可以了(当然需要在.bashrc上配置)。 第一步现在安装Anconda: 从官网下载Anconda安装包,这里我用的是Anaconda3-5.2.0-Linux-x86_64.sh。 bash Anaconda3-5.2.0-Linux-x86_64.sh 一路Enter,Y,然后提醒你配置环……

网友NO.584936

局域网内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,serverAddress = clientSocket.recvfrom(2048) #接收服务器返回的消息和地址 print (reply)clientSocket.close() #关闭连接 服务器端(linux)代码: # 如果是局域网内的linux作为服务器端执行该代码,注意先关闭防火墙from socket import *serverPort = 12001serverSocket = socket(AF_INET,SOCK_DGRAM)serverSocket.bind(('',serverPort)) #注意bind方法括号内为一个元组,引号默认表示为127.0.0.1,即监听本地端口print('ready')while True: mess……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明