如何在 cygwin 终端中杀死 Windows 进程?

use*_*774 22 windows cygwin kill process

我有一个关于如何在 Windows 上的 Cygwin 中终止进程的问题。我对 Cygwin 完全陌生。但我有一个我根本无法杀死的任务。我尝试发出以下命令:

kill 4568
kill -9 4568
/bin/kill -f 4568
Run Code Online (Sandbox Code Playgroud)

我已在单独的 Cygwin 终端中发出命令,因为我无法在运行该进程的 Cygwin 终端中使用 Ctrl+C。我已经在互联网上搜索过,但没有成功。

Ste*_*nny 29

ps -W | awk '/calc.exe/,NF=1' | xargs kill -f
Run Code Online (Sandbox Code Playgroud)

或者

ps -W | awk '$0~v,NF=1' v=calc.exe | xargs kill -f
Run Code Online (Sandbox Code Playgroud)

或者

powershell kill -n calc
Run Code Online (Sandbox Code Playgroud)

  • 确保使用“/bin/kill”,bash 内置“kill”没有“-f”开关。使用 /bin/kill 似乎适用于 git-bash、msys2 和 cygwin。 (2认同)

小智 9

你可以试试:

taskkill /pid 4568
Run Code Online (Sandbox Code Playgroud)

  • 错误的答案,OP 要求输入 Cygwin 命令。 (2认同)
  • 它是 `taskkill //im <name-of-exe>`(注意需要 2 个斜杠) (2认同)

小智 6

如果你只想要 BASH 解决方案,试试这个:(它对我有用)

    KILLPS="<My Process Name>"
    WINPS=`ps -W | grep -i $KILLPS`         # Make case-insensitive.
    PID=`echo $WINPS | cut -d' ' -f1` 
    /bin/kill -f "$PID"
Run Code Online (Sandbox Code Playgroud)

注意:使用 /bin/kill,嵌入式 shell kill 不会杀死一般 Windows 进程的 PID。

  • 您关于 /bin/kill 与 shell Kill 的注释非常有用。谢谢 (4认同)
  • 和@Phil一样,我也发现“kill”和“/bin/kill”之间的区别是出乎意料的、信息丰富的,并且最终对于阻止麻烦的进程非常有用。谢谢! (2认同)