【问题标题】:Killing multiple Mac OS processes dynamically in one command? [duplicate]在一个命令中动态杀死多个 Mac OS 进程? [复制]
【发布时间】:2019-05-30 21:42:17
【问题描述】:

我有这个问题,当我在 VS Code 中运行调试器时,有时 .Net Core 会崩溃,并且我无法重新启动调试器。即使我退出 VS Code 并重新进入,这些进程仍然是打开的。我可以手动杀死每个进程,而不是重新启动机器,但有时会有一大堆进程,而且非常乏味。例如:

$ ps -eaf | grep dotnet | grep -v grep
16528 ??         0:02.65 /usr/local/share/dotnet/dotnet /Users/ceti-alpha-v/Documents/NGRM/application/NGRM.Web/bin/Debug/netcoreapp2.0/NGRM.Web.dll
16530 ??         0:02.75 /usr/local/share/dotnet/dotnet /Users/ceti-alpha-v/Documents/NGRM/application/NGRM.Web/bin/Debug/netcoreapp2.0/NGRM.Web.dll
16532 ??         0:02.85 /usr/local/share/dotnet/dotnet /usr/local/share/dotnet/sdk/2.1.403/Roslyn/bincore/VBCSCompiler.dll

$ kill 16528 16530 16532

我想使用单个命令自动删除进程,但我不确定如何将每个 PID 传送到 kill

【问题讨论】:

标签: linux macos


【解决方案1】:

你可以像这样使用xargs

ps -eaf | grep dotnet | grep -v "grep" |  awk '{print $2}' | xargs kill

或者如果您只想杀死所有 dotnet 进程

killall dotnet

【讨论】:

  • pkillkillall 都为我工作。但也很高兴知道 awk 的做法!
【解决方案2】:

你可以使用命令替换

kill $(ps -eaf | grep dotnet | grep -v grep | awk '{ print $2 }')

【讨论】:

  • 您忘记从 ps 输出中提取进程 ID
  • 感谢提及@JanGassen
猜你喜欢
  • 1970-01-01
  • 2012-03-22
  • 2013-01-16
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 2014-10-22
  • 2018-02-12
相关资源
最近更新 更多