windows - 通过进程 ID 查找进程名称

标签 windows batch-file command-line cmd operating-system

<分区>

假设我知道进程 ID。我想使用 Windows 批处理脚本通过 ID 查找进程名称。我该怎么做?

最佳答案

最基本的,让tasklist过滤它的输出,只显示指定的进程id信息

tasklist /fi "pid eq 4444" 

要只获取进程名,必须拆分行

for /f "delims=," %%a in ('
    tasklist /fi "pid eq 4444" /nh /fo:csv
') do echo %%~a

在这种情况下,以 csv 格式 (/fo:csv) 检索不带 header (/nh) 的进程列表。逗号用作标记分隔符,行中的第一个标记是图像名称

注意:在某些 windows 版本中(其中之一,我的例子是西类牙语 windows xp 版本),任务列表中的 pid 过滤器不起作用。在这种情况下,必须通过命令完成对进程列表的过滤

for /f "delims=," %%a in ('
    tasklist /fo:csv /nh ^| findstr /b /r /c:"[^,]*,\"4444\","
') do echo %%~a

这将生成任务列表并过滤它,在 csv 输出的第二列中搜索进程 ID。

已编辑:或者,您可以假设将操作系统翻译成西类牙语的团队所做的工作。我不知道在其他地区会发生什么。

tasklist /fi "idp eq 4444" 

关于windows - 通过进程 ID 查找进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27211427/

相关文章:

mysql - 我可以直接杀死进程 mysqld.exe 来关闭 Windows 中的 MySQL 服务器吗?

windows - 如何使用正确的工作目录从 BAT 文件启动 PowerShell 脚本?

swift - 替换打印出来的文本

c - 在C编程中,%d随机生成数字吗?

python - Windows select() 只接收,不发送

适用于 Windows 和 Linux 的 c++ xml、tcp/ip 库

windows - 多窗口 OpenGL/Glut

mysql - 对 Mysql 的批量循环调用不起作用

batch-file - 管道输出到删除命令

python - 如何在 Python 中运行/与 Golang 可执行文件交互?