如何从bash中杀死除一个进程之外的所有python进程

如何从bash中杀死除一个进程之外的所有python进程

我怎样才能从 bash 中终止除一个 python 脚本之外的所有 python 进程。(我知道它的名字,但是它的 pid 有时可能会更改)。

我需要一种pkill -f "python"但不包括 python 特定的脚本。

请指教。

答案1

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

更新:按照评论中的要求一步步解释

  • ps aux |grep python- 显示所有匹配python模式 的进程
  • grep -v 'pattern_of_process_you_dont_want_to_kill'- 排除你不想终止的进程
  • awk '{print $2}'- 显示输出的第二个字段,它是 PID。
  • xargs kill- 将kill命令应用于每个输入参数(PID)。

如果您不熟悉xargs该命令,我建议您不要担心不能立即理解它。第一次使用时可能会觉得相当棘手。我发布了一个非常简单的用法示例,您可以谷歌搜索更多。

相关内容