精华内容
下载资源
问答
  • python 每天在指定时间段运行程序关闭程序

    万次阅读 热门讨论 2019-08-14 13:40:26
    场景:程序需要在每天某一时间段内运行,然后在某一时间段内停止该程序程序: from datetime import datetime, time import multiprocessing from time import sleep # 程序运行时间在白天8:30 到 15:30 晚上20:...

    场景:程序需要在每天某一时间段内运行,然后在某一时间段内停止该程序。
    程序:

    from datetime import datetime, time
    import multiprocessing
    from time import sleep
    
    # 程序运行时间在白天8:30 到 15:30  晚上20:30 到 凌晨 2:30
    DAY_START = time(8, 30)
    DAY_END = time(15, 30)
    
    NIGHT_START = time(20, 30)
    NIGHT_END = time(2, 30)
    
    
    def run_child():
        while 1:
            print("正在运行子进程")
    
    
    def run_parent():
        print("启动父进程")
    
        child_process = None  # 是否存在子进程
    
        while True:
            current_time = datetime.now().time()
            running = False  # 子进程是否可运行
    
            if DAY_START <= current_time <= DAY_END or (current_time >= NIGHT_START) or (current_time <= NIGHT_END):
                # 判断时候在可运行时间内
                running = True
    
            # 在时间段内则开启子进程
            if running and child_process is None:
                print("启动子进程")
                child_process = multiprocessing.Process(target=run_child)
                child_process.start()
                print("子进程启动成功")
    
            # 非记录时间则退出子进程
            if not running and child_process is not None:
                print("关闭子进程")
                child_process.terminate()
                child_process.join()
                child_process = None
                print("子进程关闭成功")
    
            sleep(5)
    
    
    if __name__ == '__main__':
        run_parent()
    
    
    展开全文
  • Python调用,关闭其他程序 打开 os.system() os.system(r'C:\Users\Administrator\Desktop\1.xlsx') win32api.ShellExecute ShellExecute(hwnd, op , file , params , dir , bShow ) hwnd:父窗口的句柄,...

    Python调用,关闭其他程序

    打开

    1. os.system()
    os.system(r'C:\Users\Administrator\Desktop\1.xlsx')
    
    1. win32api.ShellExecute

    ShellExecute(hwnd, op , file , params , dir , bShow )

    hwnd:父窗口的句柄,如果没有父窗口,则为0。
    op:要进行的操作,为“open”、“print”或者为空。
    file:要运行的程序,或者打开的脚本。
    params:要向程序传递的参数,如果打开的为文件,则为空。
    dir:程序初始化的目录。
    bShow:是否显示窗口。

    win32api.ShellExecute(0, 'open', R'C:\Users\Administrator\Desktop\1.xlsx', '','',1)
    

    关闭

    import win32com.client
    import wmi
    import win32com
    
    wmi1=win32com.client.GetObject('winmgmts')
    c=wmi.WMI()
    for p in wmi1.InstancesOf('win32_process'):
        if p.Name=='MSACCESS.EXE':	#某个程序名字
            for process in c.win32_Process(ProcessId=p.Properties_('ProcessId')):
                process.Terminate()
    
    展开全文
  • Ubuntu关闭指定程序进程

    千次阅读 2019-01-27 01:10:19
    有时候我们需要通过命令行关闭特定进程,对于指定进程号的关闭很容易,但是如果需要关闭指定程序或者关闭指定路径下的程序则变得不那么容易,下面我们将会对此进行讨论。另外,很多方式都会有权限限制,所以可以...

    前言

    有时候我们需要通过命令行关闭特定进程,对于指定进程号的关闭很容易,但是如果需要关闭指定的程序或者关闭指定路径下的程序则变得不那么容易,下面我们将会对此进行讨论。另外,很多方式都会有权限限制,所以可以适时采用sudo方式执行。

    1.进程资源监控

    1.1 gnome-system-monitor

    gnome-system-monitor是Ubuntu系统自带的资源管理器,可以让我们在界面中动态查看所有进程资源以及计算内存消耗情况,可直接在命令行中输入gnome-system-monitor

    1548515584058

    1548515605903

    1548515617181

    可以看见,以上内容能够很容易帮我们监控系统资源,但是如果我们需要将监控级别设定到指定程序级别,则需要对该界面进行相关配置:

    • 左上角显示设置

      我们可以通过左上角的按钮查询指定程序的进程号,也可以显示出每一个进程的执行命令行信息:

      1548515819111

      1548515869298

    • 右上角筛选设置

      默认显示的是当前用户所有的进程信息,但如果想知道当前活跃的进程信息,并显示父子进程的依赖关系,我们可以通过右上角按钮选择:

      1548515955559

    1.2 top

    top也是Ubuntu系统自带的一个系统资源监控指令,同样是在命令行执行:

    1548516050502

    其中上方的%Cpu的意义如下:

    us — 用户空间占用CPU的百分比。
    sy — 内核空间占用CPU的百分比。
    ni — 改变过优先级的进程占用CPU的百分比
    id — 空闲CPU百分比
    wa — IO等待占用CPU的百分比
    hi — 硬中断(Hardware IRQ)占用CPU的百分比
    si — 软中断(Software Interrupts)占用CPU的百分比
    

    而下方的则是各个进程的详细信息,其中要注意的是:

    PID: 进程号
    USER: 进程所有者
    PR: 进程优先级
    VIRT: 进程所占虚拟内存大小,单位:B
    RES: 进程所占物理内存大小,单位:B
    SHR: 进程所占共享内存大小,单位:B
    %CPU: 进程所占CPU使用率
    %MEM:进程所占内存使用率
    TIME+: 进程启动后所占总的CPU时间
    COMMAND: 进程命令名
    

    特别的,键盘按下1会显示所有核的信息,按下q会退出当前窗口。

    1.3 htop

    htop相对top来说,是一个更加清晰的系统资源监控器,不过需要先安装:

    sudo apt install htop
    

    同样在命令行执行:

    1548516682654

    2.利用进程号关闭进程

    指定进程号,如果要关闭其对应进程,只需要执行:

    kill 进程号
    kill -15 进程号
    

    以上两种方式会关闭正在执行的进程,不过依然会有部分程序会延时相应,或者不相应,所以我们可以强制关闭:

    kill -9 进程号
    

    进程号一定要填,不然默认关闭所有进程,包括我们的系统进程。

    3.利用程序名关闭进程

    3.1 直接关闭

    Ubuntu提供了直接关闭进程的指令killallpkill

    killall 进程名
    pkill 进程名
    

    不过这两个方法有三个缺点:

    • 进程名指的是执行命令的名称,并不是命令行,即:

      python test.py =>python
      
    • 进程名如果超过15个字符会自动截断:

      killall bt_uinfo_memcached x
      killall bt_uinfo_memcac √
      
    • 对于图形界面等关闭不了,因为属于tty,不属于command。

    3.2 先查找再关闭

    • 我们在第一章介绍gnome-system-monitor时,提到其自带查找进程号的功能,即search for open files;

    • Ubuntu提供了一种简单完全匹配工具pidof:

      pidof 进程名
      

      注意这里的进程名必须是完整的名称,如:python

    • Ubuntu还提供了命令行工具进行查找:

      ps -e | grep 进程名
      ps -ef | grep 进程名
      

      1548518549579

      1548518423771

    我们可以看到,仅仅-e所能匹配的进程不全,但是-ef能匹配更详细的命令行信息,更重要的是这种方式不是完整匹配,而是部分匹配。

    • 对于ps -e,Ubuntu提供了更简洁的用法:

      pgrep 进程名
      pgrep -a 进程名
      

      1548518865856

      1548518904099

      pgrep的缺点在于,无法实现ps -ef的命令行匹配功能,其优点在于可以只打印进程号,方便后续关闭。

    • 我们如果既想拥有pgrep那样直接打印进程号的简洁,又想拥有ps -ef |grep方式匹配完整命令行的强大,可以利用awk语言编程实现,利用进程号在第二列的特性:

      ps -ef | grep 进程信息 |awk '{print $2}'
      

      1548519375467

    有了这些进程的查找方式,那么关闭进程就很容易了,那么,如果我们想要一次性执行查找和关闭怎么办?可以利用xargs命令:

    pidof python |xargs kill -9
    pgrep python |xags kill -9
    ps -ef |grep python |awk '{print $2}'|xargs kill -9
    

    4.利用python关闭进程

    4.1 os系统指令

    python自身可以利用os模块的system功能执行命令行指令,如:

    os.system('kill -9 进程号')
    

    另外Python也可以获取自身程序的进程号:

    os.getpid()
    

    4.2 psutil库

    psutil库能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息,它主要用来做系统监控,性能分析,进程管理。其安装方式如下:

    pip install psutil
    

    这里我不介绍其详细功能,只介绍如何利用其关闭特定进程。

    • 获取当前系统所有进程:

      psutil.pids()
      

      返回所有进程号列表。

    • 获取每个进程的详细信息:

      psutil.Process(进程号)
      

      1548520601287

      返回的是该进程所对应的类,通过观察其属性可见,有很多信息可以利用:

      1548521312890

    那么我们可以这样进行匹配,假如我们要关闭包含train字样的python进程,那么可以:

    import psutil
    import os
    for i in psutil.pids():
        try:
            p = psutil.Process(i)
            if p.name() == 'python' and 'train' in ''.join(p.cmdline()):
                os.system('kill -9 '+str(i))
        except Exception:
            pass
    

    之所以要加入保护,是因为进程随时都处于启动和关闭状态,有的进程可能在处理过程中关闭了。

    来源:我的博客


    展开全文
  • Python对Windows程序窗口操作 最大化 最小化 关闭

    Python对Windows程序窗口操作 最大化 最小化 关闭


    代码

    import win32con
    import win32gui
    import time
    
    '''
    hwnd = win32gui.FindWindow(lpClassName=None, lpWindowName=None)  # 查找窗口,不找子窗口,返回值为0表示未找到窗口
    hwnd = win32gui.FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None)  # 查找子窗口,返回值为0表示未找到子窗口
    
    win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
    SW_HIDE:隐藏窗口并激活其他窗口。nCmdShow=0。
    SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。nCmdShow=1。
    SW_SHOWMINIMIZED:激活窗口并将其最小化。nCmdShow=2。
    SW_SHOWMAXIMIZED:激活窗口并将其最大化。nCmdShow=3。
    SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=4。
    SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。nCmdShow=5。
    SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。nCmdShow=6。
    SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。nCmdShow=7。
    SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=8。
    SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。nCmdShow=9。
    '''
    
    # 先等待3秒
    time.sleep(3)
    
    # 查找窗口句柄
    hwnd = win32gui.FindWindow("YodaoMainWndClass", u"网易有道词典")
    print(hwnd)
    
    if hwnd != 0:
        # 若最小化,则将其显示,反之则最小化
        if win32gui.IsIconic(hwnd):
            win32gui.ShowWindow(hwnd, win32con.SW_SHOWMAXIMIZED)
        else:
            win32gui.ShowWindow(hwnd, win32con.SW_SHOWMINIMIZED)
    
        win32gui.SetForegroundWindow(hwnd)  # 设置前置窗口
        # win32gui.SetFocus(hwnd)  # 设置聚焦窗口
    
        # 关闭窗口
        win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
    

    补充

    获取窗口的ClassName(上面代码里的"YodaoMainWndClass") 推荐一个工具:WinSpy

    注:python 版本号

    C:\>python -V
    Python 3.8.1
    
    展开全文
  • firefox浏览器在使用taskklill命令是需要强制关闭进程,需要带上/F。 # -*- coding:utf-8 -*- import os,time import webbrowser # 定义打开web函数 def open_web(i,j,url): m=0 while m<j: n=0 while n<i...
  • 微信↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑-----法宣在线积分学习小程序,可自动学 有不明白的可以联系我。这种只是辅助,不能一天刷很多,比如一天100多分就可以了不要太多,不然会被查,如果没电脑的,可以发账号给我,...
  • win32gui用于关闭窗口程序(显示最大化最小化) Python调用(运行)外部程序 2019/3/7 在Python中可在脚本中直接使用其他脚本或程序 1 使用os.system(command)运行其他程序 : 参数 command 要执行的命令,...
  • python操作Windows窗口程序

    万次阅读 多人点赞 2018-03-16 17:23:09
    定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要处于开启状态。 Pywin32 首先,安装一个Pywin32,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等...
  • python退出程序-python退出程序

    千次阅读 2020-11-01 13:00:24
    python退出程序的方式有两种:os._exit(),sys.exit() 1)os._exit() 直接退出 python程序,其后的代码也不会继续执行。 2)sys.exit() 引发一个 systemexit异常,若没有捕获这个异常,python解释器会直接退出; ...
  • linux下通过python脚本程序杀死指定PID的进程程序。 # -*- coding: UTF-8 -*- import os import sys import signal def kill(pid): try: a = os.kill(pid,signal.SIGKILL) print ("已经杀死pid为%s的进程...
  • 使用Python开发木马程序

    万次阅读 2017-07-22 14:41:15
    课程将用Python实现一个简易的木马程序,该程序会记录用户的键盘输入和屏幕截图并将数据发送到指定的服务器。通过分析键盘输入的数据,可以分析出root密码和其他账号的密码等等。 1.2 实验知识点 linux设备文件...
  • Python3实现程序更新

    千次阅读 2020-03-15 16:04:20
    很多软件都需要更新,而如何才可以让前台的程序受后台控制,可以更新呢?那么,今天就来教大家如何编写程序的更新程序。 搭建一个本地服务器 可以直接在cmd里cd到指定目录,然后py -m http.server 80。 创建好后,...
  • 今天小编就为大家分享一篇python启动应用程序和终止应用程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 目的 每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要...
  • python表白程序-python告白程序

    千次阅读 2020-11-01 13:18:38
    广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!今天就大家奉献上最强表白程序! 此程序结合数据抓取 + 微信自动发消息 + 定时任务,实现一个能每天...
  • Python程序设计题库

    万次阅读 多人点赞 2020-03-28 17:39:40
    Python程序设计》题库 一、 填空题 1、 Python安装扩展库常用的是_工具。(pip) 2、 Python标准库math中用来计算平方根的函数是____。(sqrt) 3、 Python程序文件扩展名主要有__和两种,其中后者常用于GUI程序...
  • python启动应用程序和终止应用程序

    万次阅读 2018-01-16 11:10:31
    python启动应用程序和终止应用程序 1. 目的 每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。 2. 环境 ...
  • python案例小程序

    万次阅读 2018-04-24 22:20:18
    案例1、python爬取网站Jpg图片案例2、Python批量将ppt转换为pdf案例3、python爬取歌曲评论案例1主要实现一个简单的爬虫,从一个百度贴吧页面下载图片。下载图片的步骤如下:获取网页html文本内容;分析html中图片的...
  • python定时启动程序方法

    千次阅读 2019-11-12 15:09:24
    第一种办法是最简单又最暴力。... # 把爬虫程序放在这个类里 print(u'这个程序要开始疯狂的运转啦') # 一般网站都是1:00点更新数据,所以每天凌晨一点启动 def main(h=1, m=0): while True: n...
  • Python语言中的缩进在程序中长度统一且强制使用,只要统一即可,不一定是4个空格(尽管这是惯例) IPO模型指:Input Process Output 字符串的正向递增和反向递减序号体系:正向是从左到右,0到n-1,反向是从右到左...
  • 由于工作需要,今日领导交给我一个任务,让我把软件底层这块的所有C文件都一一列出来,程序...正好最近在自学pyhon,想着看看能不能用python简化工作的繁琐,最后有了下面的这段程序。 import os cFileNumber = 0...
  • python关闭占用端口

    千次阅读 2018-09-28 10:25:36
    # -*- coding: UTF-8 -*- import os import re port = 8080 def kill_process(): ret = os.popen("netstat -nao|findstr " + str(port)) #注意解码方式和cmd要相同,即为"... str_list = ret.r...
  • python怎么让程序结束-怎么结束python

    千次阅读 2020-10-29 23:57:58
    广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。这里还有一个小细节,虽然利用队列可以解决生产者和消费者通信的问题,但是上游的生产者...
  • Python中自带了简单的服务器程序,能较容易地打开服务。 在python3中将原来的SimpleHTTPServer命令改为了http.server,使用方法如下: 1. cd www目录 2. python -m http.server 开启成功,则会输出“Serving ...
  • python调用外部程序的方法

    千次阅读 2019-10-30 14:20:17
    import os ''' #os.system()#这个函数执行起来打开DOS窗口操作系统的shell,敲...os.system('mspaint')#调用的这个程序没有退出时,Python程序会一直停留在这个地方 #说个题外话CTRL+鼠标左键可以直接跳入该函数查看...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,879
精华内容 37,951
关键字:

python关闭指定程序

python 订阅