有什么办法编写Windows .bat文件来杀死进程?[关闭]


114

每次打开公司拥有的开发计算机时,我都必须使用任务管理器或任何其他流程管理应用程序杀死10个以上的流程,才能从IDE中获得不错的性能。是的,这些是公司为安全和合规性而在我的计算机上安装的程序中的过程。我想做的是拥有一个.bat文件或某种类型的脚本,可以用来杀死有问题的进程。

有人知道怎么做这个吗?


在自动化环境中,如果子流程无法完成或无法在相当长的时间内响应,则需要终止运行子流程,这也应该很方便。
Danny Staple 2015年

我将这个问题链接发布到我所有的直接同事中,因为我们是一家拥有约2000名工程师(从事CAD)的公司中大约20名软件开发人员。我们一直在与IT管理部门进行长期斗争,因为(由于安全政策)我们几乎无法完成工作...(从技术上讲没有帮助,但是很高兴听到其他软件开发人员似乎也遇到类似的问题。)
舍夫(Scheff

Answers:


171

您可以使用“ taskkill ” 执行此操作。使用/ IM参数,可以指定图像名称。

例:

taskkill /im somecorporateprocess.exe

您还可以执行此操作以“ 强制 ”杀死:

例:

taskkill /f /im somecorporateprocess.exe

只需为要杀死的每个进程添加一行,将其另存为.bat文件,然后添加到您的启动目录中即可。问题解决了!

如果这是旧系统,PsKill将执行相同的操作。


34
大声笑-“ somecorporateprocess.exe”几乎可以概括出公司IT与开发团队之间的脱节。
maplemale 2014年

8
我成功地使用所有名称taskkill /F /IM <processname.exe> /T强制关闭所有进程。
2015年

在win10上无法杀死背景。Win 10中的所有后台进程都被命名RuntimeBroker.exe,尝试杀死时什么也没有发生。
Mostafa

106
taskkill /f /im "devenv.exe"

这将强制杀死exe名称为“ devenv.exe”的pid

相当于nix'y kill命令的-9


3
直到我将/ f标志添加到命令后,该命令才起作用。谢谢!
Denis M. Kitchen

4
这将杀死具有提供名称的所有条目。当程序适得其反并在后台打开notepad.exe 1000次时特别方便:] * ahem *
Richard de Wit 2014年

8

由于某些Windows的Home / basic版本上可能无法使用TASKKILL,因此有一些替代方法:

TSKILL processName

要么

TSKILL PID

请记住,processName不应有.exe后缀,并且限制为18个字符。

另一种选择是WMIC

wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate

wmic通过类似SQL的匹配器比taskkill提供了更大的灵活性。wmic Path win32_process get您可以看到可以过滤的可用文件(%可以用作通配符)。


5

我假设作为开发人员,您对计算机具有一定程度的管理控制权。如果是这样,请从命令行运行msconfig.exe。您甚至可以从开始就删除许多进程,从而无需使用上述解决方案将其杀死。



4

下载PSKill。编写一个批处理文件,为每个您要终止的进程调用该文件,并为每个进程传递名称。



0

请找到以下符合条件的逻辑。

如果我们简单地调用taskkill /im applicationname.exe,它将仅在此进程正在运行时终止。如果此进程未运行,则将引发错误。

为了检查之前takskill被调用,可以进行检查以确保taskkill仅在进程正在运行时才执行执行,因此不会引发错误。

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

1
更容易地将错误消息重定向taskkillnul
Stephan

0

在这里,我编写了一个示例命令,您可以将其粘贴到cmd命令行提示符中并编写为chrome.exe

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

for仅接受PID以下tasklist命令中列出的所有,并TASKKILL /PID在每个PID

tasklist /FO Table /M "chrome*" /NH

如果在批处理文件中使用for,则只需使用%% P而不是%P

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.