Python程序退出方式小结


Posted in Python onDecember 09, 2017

对于如何结束一个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的平台不会有所影响。

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

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来kill掉进程,其基本形式是,

taskkill/pid程序的PID号码

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

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

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

总结

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

Python 相关文章推荐
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
Django 前后台的数据传递的方法
Aug 08 Python
关于python的list相关知识(推荐)
Aug 30 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
python os.rename实例用法详解
Dec 06 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 #Python
Python爬取附近餐馆信息代码示例
Dec 09 #Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 #Python
python登录并爬取淘宝信息代码示例
Dec 09 #Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 #Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 #Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 #Python
You might like
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
Yii2单元测试用法示例
2016/11/12 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
Python生成随机验证码的两种方法
2015/12/22 Python
tensorflow 获取变量&打印权值的实例讲解
2018/06/14 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
运动会入场式解说词
2014/02/18 职场文书
售后求职信范文
2014/03/15 职场文书
个人委托书怎么写
2014/09/17 职场文书
工作所在部门证明
2014/09/21 职场文书
英语复习计划
2015/01/19 职场文书
2015年手术室工作总结
2015/05/11 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers