这篇文章主要介绍了Python程序退出方式小结,具有一定参考价值,需要的朋友可以了解下。

对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下。

参考:

Python 核心编程 (第二版) 中文高清

1. sys.exit()

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

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

1

2

3

4

import sys

sys.exit()

sys.exit(0)

sys.exit(1)

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

2. os._exit()

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

知乎上有说是调用了C 语言的 _exit() 函数(未考证)

3. os.kill()

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

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

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

SIGINT 终止进程 中断进程

SIGTERM 终止进程 软件终止信号

SIGKILL 终止进程 杀死进程

SIGALRM 闹钟信号

例:

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

然后执行os.kill操作:

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

4.Windows下Kill进程

既然在Linux下能够进行上述操作,那么Windows下也能够有相关的操作。

这里使用的是os.popen(),该方法是用于直接执行系统命令,而在Windows下其实就是使用taskkill来kill掉进程,其基本形式是,

taskkill/pid程序的PID号码

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

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

1

2

3

4

mport os

if __name__ == "__main__":

pid = 620

os.popen('taskkill.exe /pid:'+str(pid))

总结

以上就是本文关于Python程序退出方式小结的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

来源:https://www.jb51.net/article/130179.htm

Python程序退出方式小结(亲测)相关推荐

  1. python退出程序-Python程序退出方式小结

    对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Pytho ...

  2. Python程序退出方式小结

    Python程序退出方式小结 这篇文章主要介绍了Python程序退出方式小结,具有一定参考价值,需要的朋友可以了解下. 对于如何结束一个Python程序或者用Python操作去结束一个进程等,Pyth ...

  3. Python程序退出方式(sys.exit() os._exit() os.kill() os.popen(...))

    对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Pytho ...

  4. python 程序开机自启动,亲测可用

    我们公司的采用的谷歌的云机器,如果机器里由显卡,那么这台机器会每隔一段时间会重启重启后会导致任务挂掉,对于布置的在机器上的服务需要设置开机自启动. 这个是开机就启动python 程序 在 /lib/s ...

  5. python的退出方式

    os._exit() vs sys.exit() 转自:http://www.cnblogs.com/gaott/archive/2013/04/12/3016355.html 概述 python的程 ...

  6. python释放变量内存_python解释器安装,运行python程序的方式及程序运行的步骤,变量与自动的内存管理...

    一.python解释器安装 ps: 注意设置环境变量(文件是操作系统的概念,操作系统优先在当前文件夹找,找不到就到环境变量path找) python解释器不兼容 解释器下载官网:http://pyth ...

  7. transporter上传卡正在交付_Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用...

    Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用 在Authenticating with the iTunes store(即AppStore认证)卡住 解决办法 ...

  8. python程序退出策略

    python程序退出策略: 其实跟java的jvm退出策略一致,只有在没有用户线程/进程,只有后台线程或进程的时候,才会退出,注意,主线程默认应该是用户线程 在主线程中新建子线程或者子进程默认都是用户 ...

  9. python sys.exit_Python程序退出方式(sys.exit() os._exit() os.kill() os.popen(...))

    对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Pytho ...

最新文章

  1. 【机器学习入门到精通系列】Octave在Mac上的下载安装和基本使用
  2. Android开发之旅:android架构
  3. 优秀网页设计各种国外站的素材
  4. bzoj 4332:JSOI2012 分零食
  5. sketchup边线设置_春天花花天桥,SketchUp草图大师快速建模!
  6. PKUWC2018 5/6
  7. [转载]Altium Designer 破解,避免局域网冲突的ad9.ini
  8. python实现指纹识别毕业论文_指纹识别算法实现-毕业论文
  9. 关于音频情感分类的随笔(3)
  10. 利用google地图获取位置经纬度坐标
  11. 计算机声音音乐小星星,幼儿园小班音乐课件:《小星星》
  12. 遥控器,未来世界的入口?
  13. java自动红包_Java一个简单的红包生成算法
  14. C# 中的委托和事件1
  15. 如何建设一个标签库?
  16. Scrapy 浅入浅出
  17. 一个GCRoot不可达的对象,会立刻被垃圾回收吗?
  18. GaussDB ETCD 服务异常实例分析处理的5种方法
  19. nginx配置和优化详解
  20. Matlab 基础04 - 冒号Colon operator “:”的使用和复杂应用详析

热门文章

  1. C/C++extern关键字
  2. C++11- const, const expression和constexpr
  3. Linux执行yum不显示时间图形,Linux停的yum命令详解(朝花夕拾)
  4. java 使用ehcache,ehcache的介绍和使用,ehcache介绍使用
  5. python字典按键值排序_Python字典『键 值』排序
  6. Ranger中对hive添加policy字后,hive登录用户可用,hive密码不管用的问题解决,HiveServer2 Authentication Custom的编写
  7. 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例
  8. python无法打开 firefox浏览器_【求助】pycharm不能打开火狐浏览器
  9. php ajax工作原理,AJAX实现页面无刷新操作原理解析
  10. 微服务化之缓存的设计