每次打开公司拥有的开发机器时,我都必须使用 Task Manager 或任何其他进程管理应用程序关闭10多个进程,才能从 IDE 中获得良好的性能。是的,这些是我的公司为了安全和合规而安装在我的机器上的程序的过程。我想做的是。Bat 文件或脚本,我可以用它来终止所讨论的进程。
有人知道怎么做吗?
下载 杀。编写一个批处理文件,该文件为您希望终止的每个进程调用它,并为每个进程传递进程的名称。
taskkill /f /im "devenv.exe"
这将强制关闭名为“ devenv.exe”的 pid
相当于 nix’y kill 命令的 -9
你可以用“ 任务杀手”做到这一点。 使用/IM 参数,您可以指定图像名称。
例如:
taskkill /im somecorporateprocess.exe
你也可以这样对“ 力量”杀:
taskkill /f /im somecorporateprocess.exe
只需为每个要终止的进程添加一行,将其保存为。Bat 文件,并添加到您的启动目录中。问题解决了!
如果这是一个遗留系统,PsKill也会这样做。
使用 Powershell! 内置的 cmdlet 来管理进程。 举个例子(硬件) ,给你(内置)和 给你(更多)。
我假设作为一个开发人员,您对您的机器有一定程度的管理控制。如果是这样,从命令行运行 msconfig.exe。您甚至可以从开始就删除许多进程,从而消除了使用上述解决方案杀死它们的需要。
从 Mark Russinovich 那里获取 自行车,这个 Sysinterals 的家伙发明了索尼 Rootkit... ... 这是我用过的最好的清理自动启动的东西的软件。
由于 TASKKILL 可能无法在某些家庭/基本版本的窗口在这里一些替代方案:
TSKILL processName
或者
TSKILL PID
请记住,processName不应该有 .exe后缀,并且限制为18个字符。
processName
.exe
另一个选择是 WMIC:
WMIC
wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate
Wmic 提供了比 taskkill 更大的灵活性,它具有类似 SQL 的匹配器。使用 wmic Path win32_process get,您可以看到可以过滤的可用文件(并且 %可以用作通配符)。
wmic Path win32_process get
%
请找到下面的逻辑,它的工作条件。
如果我们简单地调用 taskkill /im applicationname.exe,那么只有当这个进程正在运行时它才会杀死。如果此进程未运行,它将抛出一个错误。
taskkill /im applicationname.exe
因此,为了在调用 takskill之前进行检查,可以进行检查,以确保只有当进程正在运行时才执行 taskkill,这样它就不会抛出错误。
takskill
taskkill
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul if errorlevel 1 taskkill /f /im "applicationname.exe"
在这里,我写了一个示例命令,您可以粘贴在您的 cmd命令行提示符,并为 chrome.exe编写。
cmd
chrome.exe
FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)
For 只接受下面 tasklist命令中列出的所有 PID,并在每个 PID上执行 TASKKILL /PID
tasklist
PID
TASKKILL /PID
tasklist /FO Table /M "chrome*" /NH
如果在批处理文件中使用 for,只需使用%% P 而不是% P