从终端杀死linux中的python解释器
Posted
技术标签:
【中文标题】从终端杀死linux中的python解释器【英文标题】:Kill python interpeter in linux from the terminal 【发布时间】:2013-08-28 00:50:33 【问题描述】:我想杀死 python interpeter - 目的是此时正在运行的所有 python 文件都将停止(没有关于此文件的任何信息)。 显然应该关闭进程。
在 python 中删除文件或销毁解释器的任何想法都可以:D(我正在使用虚拟机)。 我从终端需要它,因为我编写 c 代码并且我使用 linux 命令... 希望得到帮助
【问题讨论】:
【参考方案1】:在使用 ubuntu 20.04.2 而不是 Ctrl + C 时杀死 python 脚本只需推在一起
Ctrl + D
【讨论】:
【参考方案2】:pgrep -f <your process name> | xargs kill -9
这将终止您的进程服务。 在我的情况下是
pgrep -f python | xargs kill -9
【讨论】:
【参考方案3】:pgrep -f youAppFile.py | xargs kill -9
pgrep
返回特定文件的PID只会杀死特定的应用程序。
【讨论】:
【参考方案4】:如果你想显示进程的名称并通过 kill 命令杀死它们,我建议使用这个脚本来杀死所有 python3 正在运行的进程并释放你的 ram 内存:
ps auxww | grep 'python3' | awk 'print $2' | xargs kill -9
【讨论】:
【参考方案5】:pkill
带脚本路径
pkill -9 -f path/to/my_script.py
是一种简短而有选择性的方法,更有可能只杀死运行给定脚本的解释器。
另请参阅:https://unix.stackexchange.com/questions/31107/linux-kill-process-based-on-arguments
【讨论】:
【参考方案6】:有一种相当粗略的方法,但要小心,因为首先,这依赖于将自己标识为 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
,这些进程都(相当随意地)被杀死。
【讨论】:
您可以将第三个管道部分更改为 grep -v "grep" 以忽略 ps aux 输出中的任何 grep。这使命令更通用,因此可以更改第二个管道部分而不必担心更改第三个。 ps辅助| grep "python -u" | grep -v "grep" | awk '打印 $2' | xargs 杀死 -9【参考方案7】:你可以试试killall命令:
killall python
【讨论】:
【参考方案8】:pkill -9 python
应该杀死任何正在运行的 python 进程。
【讨论】:
如果进程名称改变了?(从python到其他名称) 您还可以通过***.com/a/34239260/895245***.com/a/34239260/895245 对每个 Python 脚本进行更多选择 在使用多处理时非常方便 @LorenzoBaracchi 你能解释一下-9
在做什么吗?我找不到它..
-9
将信号设置为SIGKILL
其他包括:SIGHUP -1
挂断。 SIGINT -2
键盘中断。 SIGKILL -9
终止信号。 SIGTERM-15
终止信号。 SIGSTOP -17, -19, -23
停止进程。以上是关于从终端杀死linux中的python解释器的主要内容,如果未能解决你的问题,请参考以下文章