【转】python 退出程序的方式

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

知乎说明

http://www.zhihu.com/question/21187839

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   闹钟信号

例如:

4. Windows下Kill进程

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

taskkill   /pid   程序的PID号码

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

可以先打开一个计算器程序,然后使用tasklist查看该程序的pid,这里是711

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

【转】python 退出程序的方式的更多相关文章

  1. python 退出程序的方式

    python程序退出方式[sys.exit() os._exit() os.kill() os.popen(...)] 知乎说明 http://www.zhihu.com/question/21187 ...

  2. C语言中这么骚的退出程序的方式你知道几个?

    C语言中这么骚的退出程序的方式你知道几个? 前言 在本篇文章当中主要给大家介绍C语言当中一些不常用的特性,比如在main函数之前和之后设置我们想要执行的函数,以及各种花式退出程序的方式. main函数 ...

  3. [修]python普通继承方式和super继承方式

    [转]python普通继承方式和super继承方式 原文出自:http://www.360doc.com/content/13/0306/15/9934052_269664772.shtml 原文的错 ...

  4. 理解 Python 的执行方式,与字节码 bytecode 玩耍 (上)

    这里有个博客讲 Python 内部机制,已经有一些中文翻译. 可能因为我用的Python 3.5,例子跑起来有些不一样. 此外,我又查了其他一些参考资料,总结如下: Python 的执行方式 先看一个 ...

  5. 理解 Python 的执行方式,与字节码 bytecode 玩耍 (下)

    上次写到,Python 的执行方式是把代码编译成bytecode(字节码)指令,然后由虚拟机来执行这些 bytecode 而 bytecode 长成这个样子:  b'|\x00\x00d\x01\x0 ...

  6. [Spark][python]以DataFrame方式打开Json文件的例子

    [Spark][python]以DataFrame方式打开Json文件的例子: [training@localhost ~]$ cat people.json{"name":&qu ...

  7. Python模块调用方式详解

    Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...

  8. python通过get方式,post方式发送http请求和接收http响应-urllib urllib2

    python通过get方式,post方式发送http请求和接收http响应-- import urllib模块,urllib2模块, httplib模块 http://blog.163.com/xyc ...

  9. 大华摄像头报警接口中图片加密,python调用c++方式实现解密

    项目中,大华摄像头的报警信息,里面有图片地址,需要1天内取下来,保持留痕 可惜,图片下载后,加密了,大华提供了android,ios,c++例子,没有提供java解密例子 没办法,只好先用c++例子简 ...

随机推荐

  1. 冒泡排序Java版

    package dataStructureAlgorithmReview.day01; import java.util.Arrays; /** * 冒泡 * @author shundong * * ...

  2. bzoj2733 离线+并查集+主席树

    https://www.lydsy.com/JudgeOnline/problem.php?id=2733 网上清一色的合并线段树题解,我又不会,只能自己胡来,没想到Rush过去了 永无乡包含 n 座 ...

  3. 剑指Offer_编程题_15

    题目描述 输入一个链表,反转链表后,输出链表的所有元素. /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : ...

  4. PubMed数据下载

    目标站点分析 目标:抓取页面中的机构名称,日期,标题,作者, 作者信息, 摘要 程序实现 # -*- coding: utf-8 -*- """ @Datetime: 2 ...

  5. python 函数基础及装饰器

    没有参数的函数及return操作 def test1(): print ("welcome") def test2(): print ("welcomt test2&qu ...

  6. js截取url地址后面的文件名

    let url = response.data.stuXscg[0].fj let num = url.lastIndexOf('/')+1 let name = url.substring(num) ...

  7. 清理sql2012数据库日志

    --1.先把数据库设置为简单模式(右击数据库名->点'属性'->点'选项'->恢复模式改成'简单'->点'确定'按钮,--2.再执行下面的语句(或者右击数据库点'任务'-> ...

  8. Carbon - 在线生成精美的代码片段图片(含插件)

    Carbon 是一个可以帮助你创建和分享源代码美丽图像的小工具.开始在文本区域输入或拖入代码文件以开始使用.你还在等什么? 让你的设计实力给阅读者留下深刻印象. 在线演示      免费下载 您可能感 ...

  9. 【SRM-06 D】五色战队&&【codeforces 788E】 New task

    原题链接:788E - New task Description 游行寺家里人们的发色多种多样,有基佬紫.原谅绿.少女粉.高级黑.相簿白等. 日向彼方:吾令人观其气,气成五彩,此天子气也. 琉璃:我们 ...

  10. PHP中关于PDO数据访问抽象层的功能操作

    PDO:数据访问抽象层 具有三大特点: 1.可以访问其它数据库  所有数据库都可以 2.具有事务功能 3.带有预处理语句功能(防止SQL注入攻击) 实例操作代码如下: <?php //1.造PD ...