因此,每当我打开公司自有的开发机器时,我必须使用任务管理器或任何其他流程管理应用程序杀死10多个进程,以便从我的IDE中获得不错的性能。是的,这些是我公司在我的机器上安装的程序的过程,以确保安全性和合规性。我想要做的是有一个.bat文件或某种类型的脚本,我可以启动并杀死有问题的进程。
有人已经知道怎么做了吗?
答案 0 :(得分:152)
您可以使用'taskkill'执行此操作。使用/ IM参数,您可以指定图像名称。例如:
taskkill / im somecorporateprocess.exe
你也可以这样做'强制'杀人:
taskkill / f / im somecorporateprocess.exe
每个要删除的进程只需添加1行,保存为.bat文件,然后放入启动目录。问题解决了!
如果这是遗留系统,PsKill也会这样做。
答案 1 :(得分:104)
taskkill /f /im "devenv.exe"
这将使用exe名称“devenv.exe”强行杀死pid
相当于nix'y kill命令的-9
答案 2 :(得分:6)
由于TASKKILL可能在Windows的某些Home / basic版本中不可用,所以有一些替代方案:
TSKILL processName
或
TSKILL PID
请注意,processName
不应包含.exe
后缀,且不得超过18个字符。
另一个选项是WMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate
wmic提供比taskkill更多的灵活性。使用wmic Path win32_process get
,您可以看到可以过滤的可用文件。
答案 3 :(得分:5)
我假设您是开发人员,对您的计算机有一定程度的管理控制权。如果是这样,请从命令行运行msconfig.exe。您甚至可以从启动中删除许多进程,从而消除了使用上述解决方案杀死它们的需要。
答案 4 :(得分:5)
从发现Sony Rootkit的Sysinternals家伙Mark Russinovich那里得到Autoruns ...我用过的最好的软件来清理自动启动的东西。
答案 5 :(得分:4)
下载PSKill。编写一个批处理文件,为每个要死的进程调用它,并为每个进程传递进程名称。
答案 6 :(得分:1)
使用Powershell!内置cmdlet用于管理进程。 Examples here(艰难的),here(内置)和here(更多)。
答案 7 :(得分:0)
请查看以下逻辑,了解条件。
如果我们只是调用taskkill /im applicationname.exe
,它只会在此进程运行时终止。如果此进程未运行,则会引发错误。
为了在调用takskill
之前进行检查,可以进行检查以确保只有在进程正在运行时才会执行execute taskkill
,这样它就不会抛出错误
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "applicationname.exe"
答案 8 :(得分: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