知行编程网知行编程网  2022-09-08 03:00 知行编程网 隐藏边栏  602 
文章评分 1 次,平均分 5.0
导语: 本文主要介绍了关于python 如何结束进程的相关知识,包括python async,以及python怎么停止运行这些编程知识,希望对大家有参考作用。

python如何结束进程

对于如何结束一个 Python 程序或使用 Python 操作来结束一个进程,Python 本身给出了几种方法,这些方法之间存在一些差异。


1、sys.exit()

执行这条语句会直接退出程序,也是常用的方法,不需要考虑平台等因素的影响。它通常是退出 Python 程序的首选方法。

该方法包含一个参数status,默认为0,表示正常退出,或1,表示异常退出。

import sys
sys.exit()
sys.exit(0)
sys.exit(1)

此方法引发 SystemExit 异常(这是唯一不被视为错误的异常)。当这个异常没有设置为捕获时,会直接退出程序执行。当然,也可以捕获这个异常来执行一些其他的操作。


2、os._exit()

效果也是直接退出而不抛出异常,但是它的使用会受到平台的限制,但是我们常用的Win32平台和基于UNIX的平台不会受到影响。


3、os.kill()

一般用于直接Kill掉进程,但是只能在UNIX平台上有效。

基本原理:该函数模拟传统的UNIX函数向进程发送信号,其中包含两个参数:一个是进程名,即接收信号的进程;另一个是要执行的操作。

操作(第二个参数)的常用取值为:

SIGINT 终止进程 中断进程

SIGTERM 终止进程 软件终止信号

SIGKILL 终止进程 杀死进程

SIGALRM 闹钟信号

例:

在linux平台打开VLC视频播放器,然后查看运行进程:进程号为4497

python如何结束进程

然后执行os.kill操作:

python如何结束进程

执行后可以发现VLC视频播放器已经关闭,进程也被Kill了。


4、Windows下Kill进程

由于在Linux下可以进行上述操作,在Windows下也可以进行相关操作。

这里用到的是os.popen(),用来直接执行系统命令。在 Windows 中,taskkill 实际上是用来杀死进程的。它的基本形式是,

taskkill/pid程序的PID号码

可以直接在CMD窗口下试下这个命令。

可以先打开一个计算器程序,然后用tasklist查看程序的pid,这里是620,所以对应的Python代码是:

import os
if __name__ == "__main__":
pid = 620
os.popen('taskkill.exe /pid:'+str(pid))

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享