从终端杀死 linux 中的 python interpeter

我想杀死 python interpeter-意图是所有的 python 文件在这一刻运行将停止(没有任何关于这个文件的信息)。 显然,这些过程应该被关闭。

在 python 中删除文件或者销毁 interpeter 的任何想法都可以: D (我正在使用虚拟机)。 我需要它从终端,因为我写 c 代码,我使用 linux 命令..。 寻求帮助

143066 次浏览
pkill -9 python

应该终止任何正在运行的 Python 进程。

你可以试试 Killall命令:

killall python

这样做的方法相当粗糙,但是要小心,因为首先,这依赖于 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,这些进程被全部(相当随意地)杀死。

pgrep -f youAppFile.py | xargs kill -9

返回特定文件的 PID 只会杀死特定应用程序。

pgrep -f <your process name> | xargs kill -9

这将终止您的流程服务。 对我来说是的

pgrep -f python | xargs kill -9

带脚本路径的 pkill

pkill -9 -f path/to/my_script.py

是一种简短而有选择性的方法,它更有可能只杀死运行给定脚本的解释器。

参见: https://unix.stackexchange.com/questions/31107/linux-kill-process-based-on-arguments

如果你想显示进程的名称并通过 kill 命令杀死它们,我建议使用这个脚本杀死所有 python3运行的进程并释放内存:

ps auxww | grep 'python3' | awk '{print $2}' | xargs kill -9

在使用 ubuntu 20.04.2而不是 Ctrl + C的情况下删除 python 脚本,只需一起推

Ctrl + D

我已经看到了 pkill命令作为最佳答案。虽然这些都很好,但我仍然尽量谨慎行事(因为,我可能会冒着毁掉进程的风险) ,并遵循以下方法:

首先,使用以下方法列出所有 python 进程:

$ ps -ef | grep python

只是为了看看 root 用户进程之前运行了什么,然后再交叉检查它们是否仍在运行(在我完成之后!)!歌曲: D)

然后使用 pgrep作为:

$ pgrep -u <username> python -d ' ' #this gets me all the python processes running for user username


# eg output:
11265 11457 11722 11723 11724 11725

最后,在与 ps -ef| ...的输出进行交叉检查之后,我使用 kill命令对这些进程进行 杀戮

kill -9 PID1 PID2 PID3 ...


# example
kill -9 11265 11457 11722 11723 11724 11725

此外,我们还可以使用以下方法交叉检查根 PID:

pgrep -u root python -d ' '

并用 ps -ef| ...的输出进行验证