我正在使用 Windows 7 专业版,并且试图编写一个独特的命令,以便在我的操作系统冻结时终止任务(我还看到这对更多管理员非常有用)我需要做的是将多个过滤器嵌套到一个命令中。
例子:
我需要终止除 explorer.exe、firefox.exe 和 vmware.exe 之外的所有正在运行的控制台任务 (n'1)。我使用的语法(未成功)是:
'taskkill /FI "session eq 1" /FI "imagename ne firefox.exe" /FI "imagename ne explorer.exe" /t /f'
似乎命令不允许我使用多个 /FI 选项。
有人能建议在这种特定情况下应该使用什么语法吗?另外,如果问题太基础,我很抱歉,但我从未接受过有关命令的任何教育。提前谢谢大家,如果有任何问题,请随时提问。
答案1
您可以执行命令来终止所有不再响应的程序。
taskkill /f /fi "status eq not responding"
我认为你不能杀死所有没有响应的进程,除了你在一行中提到的这三个进程之外。
答案2
以下是一些后续提示:我还没有看到 Windows 命令提示符中内置任何允许同一开关的多个实例的命令。另外,在我看来,我通常会一次杀死一个,这样我就不会杀死错误的东西。以下是我可以更快运行的命令:
tasklist /fi "status eq not responding"
然后,在我知道哪些进程没有响应之后,我可以选择要终止的进程(我不喜欢盲目终止系统进程的想法)。然后,我会运行如下命令:
taskkill /f /im "foo.exe"
一种终止占用大量 RAM 的进程(例如,如果 Chrome 的主进程挂起)的方法是通过此命令,或者如果有必要,附加到命令/t
,这也会终止由它启动的所有其他进程。