如何杀死除bash之外的所有python进程

我怎样才能杀死所有的Python进程,不包括一个Python脚本。 (我知道它的名字,但它的pid有时可以改变)。

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

请指教。

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命令应用于每个input参数(PID)。

如果你不熟悉xargs命令,我build议你不要担心,如果你不能马上理解的话。 这可能第一次看起来相当棘手。 我发布了它的使用非常简单的例子,你可以谷歌更多。