我在Windows上使用powershell
运行sbt
。我正试图找出杀死sbt的最佳方法。当我想要这样做的一个例子是,如果我忘记设置我的代理设置。如果我忘记设置它们,sbt通常会在尝试解析每个依赖项时挂起30秒或更长时间。如果存在一堆依赖关系,则需要等待它们全部失败。在Windows PowerShell中杀死sbt
如果这是cygwin
或bash
,我很肯定ctrl+c
会工作,但它似乎没有效果在PowerShell中。我也试过ctrl+break
似乎给线程转储,但不会停止进程。我可以去任务管理器并搜索这个进程并杀死它,但是我希望有一个更简单的方法,也不总是明白我应该从任务管理器中杀掉哪个进程。
我也试过ctrl+z
,ctrl+d
和其他一些似乎没有多大作用的人。我猜这是一个没有通过信号传递的PowerShell问题,但我不确定。
你是如何从Powershell启动它的? – mjolinor
在这种情况下,任务管理器的更好替代方法是Process Explorer:http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx使用此功能,您可以看到该进程的完整命令行。 –
为什么我们不能找到sbt.exe或其他什么,并通过$ PID来阻止它? 'Get-Process sbt | ForEach-Object -Process {Stop-Process -Id $ _。ID}'告诉我我们正在谈论的可执行文件的名称。 –