有没有办法在Powershell中终止挂起的进程?

AJ.*_*AJ. 4 com powershell

我正在使用Powershell来测试COM对象方法调用.由于设计/编码/一切都很差,这个COM对象方法只是在出错时挂起.我的默认本能是控制+ c,但这不起作用.我是否必须杀死Powershell以杀死挂起的COM方法调用?

提前致谢.

Jar*_*Par 6

您是否在COM对象上调用一个方法,该对象位于PowerShell进程的地址空间中?如果是,则是,您必须终止PowerShell以取消挂断电话.

编辑 Matthew询问是否可以使用AppDomains来解决此问题.

不幸的是没有它不能.这里的关键是COM对象正在执行本机代码.这意味着在COM对象挂起的位置,线程使用本机代码.您无法从托管代码中删除本机代码中的线程.在线程返回托管代码之前,甚至对.Abort()的调用也不会生效.