在我的代码中,当以下任一情况发生时,我需要调用declared in MSDN的Process.Kill()
来抛出Win32Exception
相关过程无法终止。
该过程正在终止。
关联的过程是Win16可执行文件。
有时我确实面对Win32Exception
且Access is denied
消息且NativeErrorCode
设置为5。MSDN说,当进程终止时调用Kill()
时,会发生这种组合。其他两种情况没有详细记录。
因此,我需要合理地处理这种情况。当然我可以捕捉Win32Exception
,但是我怎么知道为什么它被抛出了呢?如果该过程已经终止,并且在其他所有情况下都可能抛出异常,则我无需执行任何操作。
我如何识别和处理此特定情况?
最佳答案
使用命令行C#终止任务,例如Taskkill / F / IM ExeName.exe。
如果您没有许可杀死任务,那么比强行杀死也无济于事。
更多信息,请检查http://www.c-sharpcorner.com/UploadFile/8ea152/kill-process-from-the-command-prompt-in-windows-8/
这是一个如何在C#中运行命令行的示例
Run Command Prompt Commands
问候
关于c# - 当Process.Kill()由于进程正在终止而产生“访问被拒绝”时,我该如何处理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18248389/