ZetCode

Windows 命令提示符进程管理

最后修改于 2025 年 7 月 14 日

Windows 命令提示符中的进程管理涉及查看、控制和终止正在运行的进程。进程是消耗系统资源的正在执行的程序实例。有效的进程管理有助于监控系统性能和解决问题。

命令提示符提供了多种进程管理工具,包括 tasklist、taskkill 和 wmic。这些命令允许管理员查看正在运行的进程、检查资源使用情况以及终止无响应的程序。进程管理对于系统维护和故障排除至关重要。

每个进程都有一个唯一的进程 ID (PID),用于在系统中标识它。进程可以是前台(与用户交互)或后台(静默运行)。理解进程层次结构有助于有效管理依赖进程和服务。

本教程涵盖了基础的进程管理命令和技术。我们将探讨查看进程、过滤结果、检查资源使用情况以及终止进程。这些技能对系统管理员和高级用户都很有价值。

查看正在运行的进程

tasklist 命令显示系统上所有当前正在运行的进程。这是命令提示符中进程监控的主要命令。

view_processes.bat
@echo off
echo Listing all running processes:
tasklist

这个简单的脚本演示了基本的 tasklist 命令。它显示所有正在运行的进程及其 PID、内存使用情况和其他详细信息。

tasklist

以表格格式显示所有正在运行的进程。输出包括映像名称、PID、会话名称、会话编号和内存使用情况。

C:\>view_processes.bat
Listing all running processes:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0        132 K
smss.exe                       456 Services                   0      1,048 K
csrss.exe                      564 Console                    1      4,212 K
wininit.exe                    652 Services                   0      4,320 K
...

输出显示系统进程和用户进程。确切列表因运行的应用程序和服务而异。

过滤进程列表

Tasklist 支持过滤以查找特定进程。过滤器有助于按名称、内存使用情况或其他标准定位进程。

filter_processes.bat
@echo off
echo Processes using more than 100MB memory:
tasklist /fi "memusage gt 100000"

echo Chrome processes:
tasklist /fi "imagename eq chrome.exe"

此脚本展示了两个过滤示例:按内存使用情况和按进程名称过滤。过滤器使用大于 (gt) 和等于 (eq) 等比较运算符。

tasklist /fi "memusage gt 100000"

列出使用超过 100MB 内存的进程。/fi 参数指定过滤条件。内存值以千字节为单位。

tasklist /fi "imagename eq chrome.exe"

显示所有正在运行的 Chrome 浏览器进程。这有助于识别多个 Chrome 实例及其资源使用情况。

C:\>filter_processes.bat
Processes using more than 100MB memory:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
chrome.exe                   1234 Console                    1    123,456 K
mysqld.exe                   5678 Services                   0    234,567 K

Chrome processes:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
chrome.exe                   1234 Console                    1    123,456 K
chrome.exe                   2345 Console                    1     98,765 K

输出显示基于指定条件的过滤结果。实际值取决于当前系统状态。

终止进程

taskkill 命令通过 PID 或名称终止正在运行的进程。这对于停止无响应的应用程序很有用。

kill_process.bat
@echo off
echo Terminating notepad.exe if running:
taskkill /im notepad.exe /f

echo Terminating process by PID:
taskkill /pid 1234 /f

此脚本演示了两种终止进程的方法:按映像名称和按 PID 终止。/f 标志强制终止。

taskkill /im notepad.exe /f

终止 notepad.exe 的所有实例。/im 参数指定映像名称(进程名称)。/f 强制终止。

taskkill /pid 1234 /f

通过其 PID 终止特定进程。将 1234 替换为 tasklist 中的实际 PID。有助于定位特定实例。

C:\>kill_process.bat
Terminating notepad.exe if running:
SUCCESS: The process "notepad.exe" with PID 5678 has been terminated.

Terminating process by PID:
SUCCESS: The process with PID 1234 has been terminated.

输出确认成功终止。如果进程不存在或缺少权限,则会发生错误。

详细进程信息

WMIC 提供比 tasklist 更详细的进程信息。它显示完整的进程详细信息,包括命令行和父 PID。

process_details.bat
@echo off
echo Detailed process information:
wmic process where name="chrome.exe" get processid,commandline,parentprocessid

echo Process memory details:
wmic process where name="chrome.exe" get workingsetsize,virtualsize

此脚本使用 WMIC 查询详细的 Chrome 进程信息。WMIC 提供 tasklist 中不可用的广泛进程属性。

wmic process where name="chrome.exe" get processid,commandline,parentprocessid

检索 Chrome 进程及其 PID、命令行和父 PID。有助于识别特定进程实例。

wmic process where name="chrome.exe" get workingsetsize,virtualsize

显示 Chrome 进程的内存使用情况详细信息。Workingsetsize 是物理内存使用情况,virtualsize 是虚拟内存分配。

C:\>process_details.bat
Detailed process information:
CommandLine              ParentProcessId  ProcessId  
chrome.exe --type=renderer           1234       5678  
chrome.exe --type=gpu-process        1234       6789  

Process memory details:
VirtualSize  WorkingsetSize  
123456789    23456789  
987654321    34567890  

输出显示详细的进程信息。命令行揭示了每个进程是如何启动的及其具体功能。

启动进程

start 命令从命令提示符启动新进程。它提供对窗口状态和优先级的控制。

start_process.bat
@echo off
echo Starting Notepad minimized:
start /min notepad.exe

echo Starting calculator with normal priority:
start /normal calc.exe

此脚本演示了以不同的窗口状态和优先级级别启动应用程序。start 命令提供了多个配置选项。

start /min notepad.exe

以最小化窗口启动记事本。适用于不需要即时用户交互的后台进程。

start /normal calc.exe

以正常优先级启动计算器。其他优先级选项包括 /low、/high 和 /realtime(谨慎使用)。

C:\>start_process.bat
Starting Notepad minimized:
Starting calculator with normal priority:

如果命令成功执行,则会静默执行。应用程序将根据指定的参数启动。

来源

Windows 命令参考

在本文中,我们涵盖了 Windows 命令提示符中的进程管理。这些命令能够有效地监控和控制系统进程。

作者

我叫 Jan Bodnar,我是一名充满激情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。