精华内容
下载资源
问答
  • Python 后台启动程序

    2021-03-20 14:59:45
    Python开发工作中我们会遇上一个程序或者脚本运行时间过长的问题,在linux程序下操作时间超过180分钟会自动退出,这样就会中断我们的程序,前功尽弃的感觉真的难受~ 那有什么好的解决方案呢? 我们可以: 方案1,...

    在Python开发工作中我们会遇上一个程序或者脚本运行时间过长的问题,在linux程序下操作时间超过180分钟会自动退出,这样就会中断我们的程序,前功尽弃的感觉真的难受~

    那有什么好的解决方案呢?

    我们可以:

    方案1,将程序或者接口部署到Nginx服务器上,这样程序进入listening(持续监听)状态,接口可以持续运行
    但是服务器一般都有超时限制,如果超过限制时间会自动断开
    需要在服务器上运作代码要进行优化,使用多线程,多进程异步等处理使得程序正常进行(下一篇文章细讲)

    如想使用方案一的话,还需要把一定的运维知识以及程序处理,一些博友就说:“诶,我只是想运行个脚本测测效果,要搞这么多东西,有没有简单一些的处理呀?”

    “有!”

    我们可以使用Python的后台启动命令,使用程序在后台启动~,就算linux由于太久没有操作自动退出也不中断程序

    方案2
    使用后台启动命令
    nohup python {}
    {}中填程序启动文件或者脚本

    这样就实现后台启动了

    注意:后台启动需要我们手动关闭才行,不然会一直运行,占用内存

    展开全文
  • 在`/etc/profile`中添加要运行的脚本2.2.1 在`/etc/profile`中添加要运行的脚本2.2.2 知识拓展2.3 方法三:添加到桌面自动启动程序中 想要做到某个程序在开机的时候自动启动,就要知道系统中哪些程序或者配置文件

    想要做到某个程序在开机的时候自动启动,就要知道系统中哪些程序或者配置文件,是每次开机都是要先运行一遍的,我们只需要想办法把程序运行的命令放到指定的位置,就可以伴随着开机后自动运行!

    1 通过系统界面设置开机自动运行程序

    1.1 windows系统设置开机自动运行命令

    在windows系统中,可以通过任务计划程序,把需要运行的程序命令,或者要运行的应用程序添加到一个任务中,这样在每次开机或指定的时间就可以运行该程序,具体请参考这篇博客

    1.2 Linux开机设置开机自动运行命令

    当然linux上也有可视化的界面,设置每次开机自动启动的应用或程序!

    1、这是我的Mint系统(Ubuntu系统改造后的系统)中设置界面中的开机自启动程序
    在这里插入图片描述

    2、然后选择自定义命令

    在这里插入图片描述

    3、然后把你要运行的命令或者程序填写进入即可(当然你也可以写成一个bash脚本)然后在bash脚本中定义要运行的程序!
    在这里插入图片描述

    注意:

    Jetson NanoJetson Xavier NX中并没有该设置界面,其他的嵌入式设备我也没有尝试,如果你设备也没有类似的设置界面,那就继续往下看吧!

    2 Linux中设置开机自启动python脚本程序

    先说明,我要开机运行如下的程序,让每次程序开机后就自动播放一段视频,我脚本程序的路径为:/home/zhihui/test_boot_up.py

    python3 test_boot_up.py

    在这里插入图片描述

    注意:

    • 下面的所有linux开机自启动python程序的方法,我最终都是在Jetson nano上测试的!!!

    2.1 方法一:在/etc/rc.local中添加要运行的脚本命令

    1、用vim打开/etc/rc.local文件

    sudo vim /etc /rc.local

    2、在/etc/rc.local文件中添加你要运行的命令

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    /usr/bin/python3 /home/zhihui/test_boot_up.py &
    exit 0
    

    注意:

    • 自启动的脚本命令要放到exit 0之前
    • &:表示让命令在后台运行,不在命令行显示,当然你不加&也是可以的
    • 我的/etc目录下并没有rc.local文件,而且我尝试这种方法在Jetson nano上是没有成功的,大家可以自行尝试

    2.2 方法二:在/etc/profile中添加要运行的脚本

    2.2.1 在/etc/profile中添加要运行的脚本

    1、先创建一个脚本文件:/home/zhihui/start.sh

    vim ~/start.sh

    当然,这个文件你可以放在任意的位置,记住start.sh文件的路径即可!

    2、在 start.sh文件中添加要开机自启动的脚本命令

    #!/bin/bash
    sudo python3  /home/zhihui/test_boot_up.py
    

    3、给start.sh文件加上可执行权限

    sudo chmod +x /home/zhihui/test_boot_up.py

    4、把/home/zhihui/start.sh添加到/etc/profile文件的末尾

    sudo vim /etc/profile

    然后把/home/zhihui/start.sh添加到配置文件的末尾

    5、重新启动,看看程序有没有自动启动

    sudo reboot

    注意:

    • 我用这种方法可以成功自启动程序,但是有点小问题,每次打开后视频是在播放,但是界面不能够操作
    • 还有,这种方法你需要管理员权限

    2.2.2 知识拓展

    1、登录shell之后启会被运行的配置文件

    登录shell时,linux会按一定规则读取启动几个配置文件:

    /ect/profile
    
    $HOME/.bash_profile
    
    $HOME/.bashrc
    
    $HOME/.bash_login
    
    $HOME/.profile
    

    其中 /ect/profile文件是系统默认主启动文件,系统上每个用户登录时都会执行

    • 1)命令行登录和ssh登录,shell会按照以下顺序,运行第一个被找到的文件,余下的会被忽略:
    $HOME/.bash_profile
    
    $HOME/.bash_login
    
    $HOME/.profile
    

    上面没有 $HOME/.bashrc ,因为该文件一般通过其他文件运行。

    • 2)图形界面登录,只加载/ect/profile$HOME/.profile,其他的会被忽略。

    对于no-login shell,即图形界面打开的shell,只会读入$HOME/.bashrc文件,不会检查/etc/.profile等其他登录shell文件。

    2、开机自动启动的服务程序

    linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件:

    在这里插入图片描述

    另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接,也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序! 还 需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。Ubuntu系统运行级别: 0 系统停机状态 1 单用户或系统维护状态 2~5 多用户状态 。

    在这里插入图片描述

    2.3 方法三:添加到桌面自动启动程序中

    1、创建文件:~/.config/autostart/MyScript.desktop

    注意:

    如果没有autosart目录就先创建一个目录

    2、然后把要开机运行的命令添加到~/.config/autostart/MyScript.desktopExec中即可,如下:

    [Desktop Entry]
    Encoding=UTF-8
    Name=MyScript
    Comment=MyScript
    Icon=gnome-info
    Exec=python3 /home/zhihui/test_boot_up.py
    Terminal=false
    Type=Application
    Categories=
    
    X-GNOME-Autostart-enabled=true
    X-GNOME-Autostart-Delay=0
    

    3、然后重启一下,看看是否会自动启动程序

    sudo reboot

    • 推荐使用这种方法
    • 我使用这种方法可以成功运行程序!

    2.3 方法四:使用crontab命令

    是用crontab -e命令,打开配置文件,然后在配置文件中加入要运行的命令:

    @reboot python3 /home/zhihui/test_boot_up.py

    也可以加上睡眠时间:

    @reboot (sleep 30; python3 /home/zhihui/test_boot_up.py)

    参考:https://www.jianshu.com/p/06b140e598e3
    参考:https://blog.csdn.net/qq_29113041/article/details/78675396
    参考:https://www.xz577.com/j/24992.html
    参考:https://stackoverflow.com/questions/24518522/run-python-script-at-startup-in-ubuntu
    参考:https://raspberrypi.stackexchange.com/questions/4123/running-a-python-script-at-startup

    欢迎大家关注笔者,你的关注是我持续更博的最大动力


    原创文章,转载告知,盗版必究

    微信:suihailiang0816
    QQ:931762054
    wx公众号:仰望星空的小随
    展开全文
  • Jetson Nano开机自动启动Python程序

    千次阅读 2020-04-08 15:26:18
    Jetson Nano开机自动启动python程序


    Jetson Nano的系统是Ubuntu,桌面默认是gnome。所以可以使用gnome去实现开机启动python程序。
    这里通过使用shell脚本间接调用python

    创建一个shell脚本

    例如start.sh。

    touch start.sh		# 新建一个shell脚本
    

    编辑shell脚本

    • 编辑shell脚本
    gedit start.sh		# 编辑shell脚本
    

    shell脚本里可以输入启动.py文件的语句,例如:

    /usr/bin/python3 /home/start.py		# 使用指定目录下的python解释器运行指定目录下的python脚本
    
    • 修改shell脚本权限
    sudo chmod 777 /home/start.sh		# 修改脚本权限
    

    添加开机启动项

    • 按一下Windows键,搜索Startup Application

    Startup Application Preferences

    • Add一个项目
      第二个字段填上:
    gnome-terminal -x /home/start.sh		# 开机启动start.sh文件
    

    Add Startup Program
    点击Add(添加),这样就可以开机启动python程序啦。

    Tips:
    通过shell脚本间接运行python脚本会遇到各种找不到文件的问题(实际上这个文件是存在的),这个时候只要把要引用的文件的相对地址改为绝对地址就好了。

    展开全文
  • python自动定时启动exe程序

    千次阅读 2020-01-03 12:55:48
    原本要用win10的任务计划程序定义程序自动启动,结果一直不成功,显示正在运行但实际并没有成功运行,怀疑是权限设置的问题,一直没搞明白,就用python写个脚本吧。 #!/usr/bin/python # -*- coding: utf-8 -*- ...

    原本要用win10的任务计划程序定义程序自动启动,结果一直不成功,显示正在运行但实际并没有成功运行,怀疑是权限设置的问题,一直没搞明白,就用python写个脚本吧。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import os
    import datetime
    import time
    import psutil
    
    #运行exe文件
    def run():
        kill()
        os.chdir(r"C:\Users\Desktop\\")
        path = "a.exe"
        print("运行a.exe进程")
        os.system(path)
    
    #杀掉进程
    def kill():
        pids = psutil.pids()
        for pid in pids:
            p = psutil.Process(pid)
            if p.name() == 'a.exe':
                print("杀死a.exe进程")
                cmd = 'taskkill /F /IM a.exe'
                os.system(cmd)
          
    
    def main(h1=5,h2=12):
        run()
        while True:
            now = datetime.datetime.now()
            print(now)
            if now.hour == h1:
                run()
            # 每隔60分检测一次
            if now.hour == h2:
                run()
            time.sleep(3600)
    
    if __name__ == '__main__':
        main()
    
    

    设定每天5点或12点跑exe。
    运行中发现如果因程序自身原因后台无法关闭,需要kill进程,kill不掉就要在管理员模式下运行。

    展开全文
  • 因为我的目的是开机自动启动一个python程序,而且还要保证用是pi用户,不是root用户,话不多说,步骤如下 首先我们创建一个自启动文件夹 mkdir /home/pi/.config/autostart 然后自己切换到里面,新建一个xx....
  • 写了一个python 的服务程序,放在服务器上,如果服务器重启动那么就要人上去重新开程序,从运维解度来说太麻烦,于是想要做一个自动启动程序,有两种方法,启动python应用时有个小坑,一定要全路径写上python. ...
  • python 判断当前程序是否停止,自动启动相关脚本命令 RPA #!/usr/bin/env Python3 # -*- coding: utf-8 -*- # @Software: PyCharm # @virtualenv:workon # @contact: 1040691703@qq.com # @Desc:Code ...
  • python自动订餐小程序

    千次阅读 2017-10-24 22:47:53
    公司的订餐系统是网页处理的,有时容易忘记,所以做一个定时自动化提示小程序。使用windows的定时任务调用python程序来实现。 windows提供的定时运行程序接口 开始->所有程序->附件->系统工具->任务计划程序 =>...
  • 1 #Author:xiaoxiao 2 from selenium import webdriver 3 4 def searchSelenium(): ... 5 #启动浏览器 6 driver = webdriver.Firefox() 7 #打开网站 8 driver.get('http://www.baidu.com') 9...
  • 树莓派启动自动运行python程序

    千次阅读 2019-02-13 23:39:48
    小白一枚,记录过程。 参考网址:...题目为:Raspberry Pi: Launch Python Script on Startup cd bbt ls nano launcher.sh #!/bin/sh #launcher.sh #n...
  • 保持时间、计划任务和启动程序 一、time模块 计算机系统始终设置为特定的日期、时间和时区。内置的time模块让python程序能读取系统时钟的当前时间。在time模块中,time.time()和time.sleep()函数是最有用的模块。 ...
  • Python怎么启动打开Windows的应用程序

    万次阅读 2019-05-09 17:21:11
    场景:APP自动化测试,但先启动模拟器(如夜神) import os def open_app(app_dir): os.startfile(app_dir) #os.startfile()打开外部应该程序,与windows双击相同 if __name__ == "__main__": app_dir = r'G:\...
  • 最近在rk3399pro开发板上编写python程序(opencv获取rtsp流–vpu硬件解码—多进程读取/处理),但是由于远程网络摄像头rtsp流会发生丢包、网络卡顿的现象,导致程序意外退出,现通过设置shell脚本自动启动意外中断的...
  • 一、让Python随Linux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令 /usr/bin/python3.5 /home/edgar/auto.py > /home/edgar/auto.log ...
  • Python写了个自动程序,打包成exe了,windows系统cmd切换到文件夹能正常启动,设置文件夹为环境变量后,直接敲文件名报错:缺少chromedriver,所有文件都在文件夹了,望大神指导一下怎样能正常启动
  • 各个系统定时自动启动程序设置 重要参考链接: python实现腾讯文档自动打卡教程 mac 自动定时执行任务 OS X 添加定时任务 文章目录1. Windows2. Mac3. Linux 以下是正文内容 1. Windows 用系统自带搜索...
  • 让你的python程序开机自启动

    万次阅读 2014-03-22 10:59:40
    前段时间写的那个python桌面时钟的小程序, 今天突发奇想, 能不能让他开机自动启动呢   开始菜单启动项实现 1 创建快捷方式 2 直接将快捷方式复制/粘贴到开始菜单启动文件夹 开始菜单--> 程序-->启动--> 然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,286
精华内容 514
关键字:

python自动启动程序

python 订阅