關(guān)閉python程序的方法

小編給大家分享一下關(guān)閉python程序的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

為善左等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及善左網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站制作、善左網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

對于如何結(jié)束一個Python程序或者用Python操作去結(jié)束一個進(jìn)程等,Python本身給出了好幾種方法,而這些方式也存在著一些區(qū)別,對相關(guān)的幾種方法看了并實踐了下,同時也記錄下。

1. sys.exit()

執(zhí)行該語句會直接退出程序,這也是經(jīng)常使用的方法,也不需要考慮平臺等因素的影響,一般是退出Python程序的首選方法。

該方法中包含一個參數(shù)status,默認(rèn)為0,表示正常退出,也可以為1,表示異常退出。

1 import sys
2 sys.exit()
3 sys.exit(0)
4 sys.exit(1)

該方法引發(fā)的是一個SystemExit異常(這是唯一一個不會被認(rèn)為是錯誤的異常),當(dāng)沒有設(shè)置捕獲這個異常將會直接退出程序執(zhí)行,當(dāng)然也可以捕獲這個異常進(jìn)行一些其他操作。

2. os._exit()

效果也是直接退出,不會拋出異常,但是其使用會受到平臺的限制,但我們常用的Win32平臺和基于UNIX的平臺不會有所影響。

3. os.kill()

一般用于直接Kill掉進(jìn)程,但是只能在UNIX平臺上有效。

基本原理:該函數(shù)是模擬傳統(tǒng)的UNIX函數(shù)發(fā)信號給進(jìn)程,其中包含兩個參數(shù):一個是進(jìn)程名,即所要接收信號的進(jìn)程;一個是所要進(jìn)行的操作。

操作(第二個參數(shù))的常用取值為:

SIGINT    終止進(jìn)程     中斷進(jìn)程
SIGTERM   終止進(jìn)程     軟件終止信號
SIGKILL   終止進(jìn)程      殺死進(jìn)程
SIGALRM   鬧鐘信號

4. Windows下Kill進(jìn)程

既然在Linux下能夠進(jìn)行上述操作,那么Windows下也能夠有相關(guān)的操作。

這里使用的是os.popen(), 該方法是用于直接執(zhí)行系統(tǒng)命令,而在Windows下其實就是使用taskkill來kill掉進(jìn)程,其基本形式是,

taskkill   /pid   程序的PID號碼

可以直接在CMD窗口下試下這個命令....

可以先打開一個計算器程序,然后使用tasklist查看該程序的pid,這里是620,所以對應(yīng)的Python代碼是:

1 import os
2 if __name__ == "__main__":
3     pid = 620
4     os.popen('taskkill.exe /pid:'+str(pid))

以上是關(guān)閉python程序的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前文章:關(guān)閉python程序的方法
標(biāo)題來源:http://muchs.cn/article26/gecojg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站維護(hù)、商城網(wǎng)站、電子商務(wù)、用戶體驗、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)