2013-08-25 60 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'