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))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章