每次打开公司拥有的开发计算机时,我都必须使用任务管理器或任何其他流程管理应用程序杀死10个以上的流程,才能从IDE中获得不错的性能。是的,这些是公司为安全和合规性而在我的计算机上安装的程序中的过程。我想做的是拥有一个.bat文件或某种类型的脚本,可以用来杀死有问题的进程。
有人知道怎么做这个吗?
每次打开公司拥有的开发计算机时,我都必须使用任务管理器或任何其他流程管理应用程序杀死10个以上的流程,才能从IDE中获得不错的性能。是的,这些是公司为安全和合规性而在我的计算机上安装的程序中的过程。我想做的是拥有一个.bat文件或某种类型的脚本,可以用来杀死有问题的进程。
有人知道怎么做这个吗?
Answers:
您可以使用“ taskkill ” 执行此操作。使用/ IM参数,可以指定图像名称。
例:
taskkill /im somecorporateprocess.exe
您还可以执行此操作以“ 强制 ”杀死:
例:
taskkill /f /im somecorporateprocess.exe
只需为要杀死的每个进程添加一行,将其另存为.bat文件,然后添加到您的启动目录中即可。问题解决了!
如果这是旧系统,PsKill将执行相同的操作。
taskkill /F /IM <processname.exe> /T
强制关闭所有进程。
RuntimeBroker.exe
,尝试杀死时什么也没有发生。
taskkill /f /im "devenv.exe"
这将强制杀死exe名称为“ devenv.exe”的pid
相当于nix'y kill命令的-9
由于某些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
您可以看到可以过滤的可用文件(%
可以用作通配符)。
请找到以下符合条件的逻辑。
如果我们简单地调用taskkill /im applicationname.exe
,它将仅在此进程正在运行时终止。如果此进程未运行,则将引发错误。
为了检查之前takskill
被调用,可以进行检查以确保taskkill
仅在进程正在运行时才执行执行,因此不会引发错误。
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "applicationname.exe"
taskkill
至nul
在这里,我编写了一个示例命令,您可以将其粘贴到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