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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM