Windows进程号、查看父进程查找、查看子进程、父子进程、进程树、查看某个进程号PID父进程(Parent Process ID, PPID)ProcessExplore、procexp、进程监控
参考文章:Windows解除占用(解除文件占用、解除目录占用)查看文件进程(查看父进程、查看子进程、查看父子进程)占用文件占用、占用目录占用
文章目录
**方法 1:使用 PowerShell**(可以查到父进程!)1. **打开 PowerShell**:2. **运行命令**:3. **查看结果**:4. **上面输出信息有点多,只输出父进程可以用以下命令**:
**方法 2:使用 `tasklist` 和 `findstr`(命令提示符)**(查不到!)1. **打开命令提示符**:2. **列出所有进程**:3. **查找特定进程**:
**方法 3:使用第三方工具(推荐)**(可以查到父子进程!可以查到进程树,推荐!)**工具:Process Explorer(Sysinternals)**1. **下载并运行 Process Explorer**:2. **查看父进程**:- 在 Process Explorer 窗口中,找到目标进程(可以通过 PID 搜索)。- 右键点击该进程,选择 **Properties**。- 在 **Image** 标签页下,查看 **Parent Process ID**。
**方法 4:使用调试工具(高级用户)**(略)**工具:TList(Windows 调试工具)**1. **安装调试工具**:2. **运行 TList**:
**方法 5:使用 C++ 代码(开发人员)**(略)1. **代码示例**:2. **编译并运行**:
**总结**
在 Windows 系统中,查看某个进程号(PID)的父进程(Parent Process ID, PPID)有以下几种方法:
方法 1:使用 PowerShell(可以查到父进程!)
1. 打开 PowerShell:
按 Win + X,选择 Windows PowerShell 或 Windows Terminal (Admin)。
2. 运行命令:
Get-WmiObject -Query "SELECT * FROM Win32_Process WHERE ProcessId =
将
Get-WmiObject -Query "SELECT * FROM Win32_Process WHERE ProcessId = 1234"
3. 查看结果:
输出中会包含 ParentProcessId 字段,即父进程的 PID。
4. 上面输出信息有点多,只输出父进程可以用以下命令:
Get-WmiObject -Query "SELECT ParentProcessId FROM Win32_Process WHERE ProcessId =
如:
Get-WmiObject -Query "SELECT ParentProcessId FROM Win32_Process WHERE ProcessId = 18276"
方法 2:使用 tasklist 和 findstr(命令提示符)(查不到!)
1. 打开命令提示符:
按 Win + R,输入 cmd,按回车。
2. 列出所有进程:
tasklist /v
/v 参数会显示详细信息,包括父进程的 PID。
3. 查找特定进程:
如果只想查看某个 PID 的详细信息,可以结合 findstr 过滤:
tasklist /v | findstr
方法 3:使用第三方工具(推荐)(可以查到父子进程!可以查到进程树,推荐!)
工具:Process Explorer(Sysinternals)
1. 下载并运行 Process Explorer:
从 Sysinternals 官网 下载并运行 ProcessExplorer.exe。
2. 查看父进程:
- 在 Process Explorer 窗口中,找到目标进程(可以通过 PID 搜索)。
右上角搜索貌似只能通过名称,我是使用Find handle or DLL...搜索的:
通过进程id搜索,然后点击搜索结果,能直接定位到进程树所在位置,父进程、子进程一目了然:
- 右键点击该进程,选择 Properties。
也可以点击属性查看详细信息:
- 在 Image 标签页下,查看 Parent Process ID。
方法 4:使用调试工具(高级用户)(略)
工具:TList(Windows 调试工具)
1. 安装调试工具:
安装 Windows SDK 或 Windows Driver Kit (WDK)。默认路径:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\。
2. 运行 TList:
tlist -t
输出会显示进程树结构,包括父进程关系。
方法 5:使用 C++ 代码(开发人员)(略)
如果需要编程实现,可以使用 NtQueryInformationProcess 函数(参考知识库 [3]):
1. 代码示例:
#include
#include
NTSTATUS NtQueryInformationProcess(HANDLE ProcessHandle, PROCESSINFOCLASS ProcessInformationClass, PVOID ProcessInformation, ULONG ProcessInformationLength, PULONG ReturnLength);
int main() {
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, GetCurrentProcessId());
if (hProcess == NULL) {
std::cerr << "OpenProcess failed." << std::endl;
return 1;
}
PROCESS_BASIC_INFORMATION pbi;
ULONG returnLength;
NTSTATUS status = NtQueryInformationProcess(hProcess, ProcessBasicInformation, &pbi, sizeof(pbi), &returnLength);
if (status == 0) {
std::cout << "Parent Process ID: " << pbi.ParentProcessId << std::endl;
} else {
std::cerr << "NtQueryInformationProcess failed." << std::endl;
}
CloseHandle(hProcess);
return 0;
}
2. 编译并运行:
需要链接 Windows SDK 并处理 NTSTATUS 返回值。
总结
推荐方法:使用 PowerShell 或 Process Explorer,操作简单且无需编程。高级需求:使用 NtQueryInformationProcess 或调试工具(如 TList)进行深度分析。
随便看看
- 2025-06-18 16:51:29汉化版生肉rpg单机游戏大全
- 2025-06-25 21:30:11《仁王2》属性加点如何分配 全属性加点详解
- 2025-05-25 08:47:10仙剑奇侠传1
- 2025-06-23 08:17:55华帝工资待遇怎么样?薪资福利如何?
- 2025-06-21 09:19:49正在阅读:电视miracast投屏怎么打开 电视miracast投屏打开教程【详解】电视miracast投屏怎么打开 电视miracast投屏打开教程【详解】
- 2025-06-15 21:45:399377王者传奇法师的技能流星火雨和灭天火的对比分析
- 2025-07-20 02:54:17野性成长
- 2025-06-21 14:49:45美国网购平台汇总(美国网购平台)
- 2025-06-30 18:49:26如何看懂常见佛教手印? 收藏这一篇就够了!
- 2025-07-06 06:51:55不完全统计|腾讯控股对外投资清单(上市公司版) 截止2022年1月6日, 腾讯 主要共持股46个上市公司,持股20%以上的上市公司有7家。总市值5.06万亿,其中企鹅持...