2013-08-25 146 views
31

我想殺死python interpeter - 目的是在此刻運行的所有python文件都會停止(沒有關於這個文件的任何信息)。 顯然這個過程應該關閉。在終端中從linux終止python interpeter

任何想法在python中刪除文件或銷燬interpeter是好的:D(我正在使用虛擬機)。 我需要從終端,因爲我寫的C代碼,我使用Linux命令... 希望尋求幫助

回答

45
pkill -9 python 

應該殺了所有正在運行的Python進程。

+1

如果進程名稱變更(從蟒蛇到其他名稱) –

+7

使用其他名稱 –

+0

您也可以爲每Python腳本更具有選擇性:https://stackoverflow.com/a/34239260/895245 –

26

有這樣做的一個相當原始的方式,但要小心,因爲第一,這依賴於Python解釋器進程自稱爲蟒蛇,和第二它也具有同時殺死由該名稱標識的任何其他進程的效果。

總之,你可以鍵入到你的shell殺死所有的Python解釋(請務必閱讀上面的警告!):

ps aux | grep python | grep -v "grep python" | awk '{print $2}' | xargs kill -9 

爲了打破這種下來,這是如何工作的。第一個位ps aux | grep python | grep -v "grep python"獲得所有調用自己python進程的列表,grep -v確保剛剛運行的grep命令不包含在輸出中。接下來,我們使用awk來獲取輸出的第二列,其中包含進程ID。最後,這些過程都是通過向他們中的每一個提供kill -9而被殺死的(相當不客氣)。

+2

您可以將第三個管段更改爲grep -v「grep」,以忽略ps aux輸出中的任何greps。這使命令更通用,因此可以更改第二個管段而不用擔心更改第三個管段。 ps aux | grep「python -u」| grep -v「grep」| awk'{print $ 2}'| xargs kill -9 – TechplexEngineer

3

pgrep -f youAppFile.py | xargs kill -9

pgrep返回特定文件的PID,並且只殺死特定應用程序。

2

pgrep -f | xargs kill -9 這會殺死你的進程服務。 在我的情況下,它是'pgrep -f python | xargs的殺-9'