溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)閉python.exe的方法

發(fā)布時(shí)間:2020-08-06 11:10:58 來源:億速云 閱讀:304 作者:小新 欄目:編程語言

這篇文章主要介紹關(guān)閉python.exe的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1. sys.exit()

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

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

import sys
sys.exit()
sys.exit(0)
sys.exit(1)

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

2. os._exit()

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

3. os.kill()

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

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

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

SIGINT 終止進(jìn)程 中斷進(jìn)程

SIGTERM 終止進(jìn)程 軟件終止信號(hào)

SIGKILL 終止進(jìn)程 殺死進(jìn)程

SIGALRM 鬧鐘信號(hào)

例:

在linux平臺(tái)上打開VLC視頻播放器,然后查看運(yùn)行的進(jìn)程:進(jìn)程號(hào)是 4497

關(guān)閉python.exe的方法

然后執(zhí)行os.kill操作:

關(guān)閉python.exe的方法

執(zhí)行完之后可以發(fā)現(xiàn)VLC視頻播放器已經(jīng)關(guān)閉,同時(shí)該進(jìn)程也已經(jīng)被Kill了。

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

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

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

taskkill/pid程序的PID號(hào)碼

可以直接在CMD窗口下試下這個(gè)命令

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

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

以上是關(guān)閉python.exe的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI