如何杀死Visual Studio中预建步骤中可能不存在的进程?

问题描述:

问题是如果这个过程不存在,构建失败。我试图写这样的东西如何杀死Visual Studio中预建步骤中可能不存在的进程?

tasklist /nh /fi "imagename eq XDesProc.exe" | find /i "XDesProc.exe" && (
TASKKILL /F /IM "XDesProc.exe" 
) || (
echo XAML designer is not running 
) 

但ERRORLEVEL也等于1,如果XDesProc.exe没有运行,bild会失败。

你可以使用在PID条件测试,以避免这种情况:

taskkill /f /fi "pid gt 0" /im xdesproc.exe 
+0

非常感谢你,汉斯! –

+0

我很欣赏这个条目,因为它对我也有帮助。我想确保我正确理解正在发生的事情,以便澄清是否读取为,强制终止进程ID大于0的所有进程,并且谁的名称是xdesproc.exe?在这种情况下,我不清楚过滤器的语法,后面的过滤器是由空格分隔的吗?谢谢 – TargetofGravity

+0

为了进一步阐述,道歉我错过了编辑评论的窗口,'taskkill /?'示例似乎表明每个过滤器都由其自己的'/ fi'前缀定义。如果是这种情况,那么不会试图杀死xdesproc.exe仍然发生,如果不是在返回的过滤列表中不会失败,因为找不到进程? – TargetofGravity