目录
TaskExplorer是一款由开发者David Xanatos个人维护的系统进程分析工具。当你觉得电脑卡顿、怀疑中了病毒,或者只是想深入了解某个软件的行为时,Windows自带的任务管理器给的信息太有限了。你不知道这个程序打开了哪个文件,连接了哪个网址,加载了哪些DLL库。
TaskExplorer就是来解决这个问题的。选中一个进程,界面下方立刻展示出它的所有“小动作”:它打开了哪些文件作为“句柄”、它创建了哪些网络连接、它调用了哪些动态链接库、它的内存里写入了什么数据。这就像给每个进程做了一次全身检查,把所有隐藏的细节都列了出来。
官网入口地址
https://xanasoft.com/TaskExplorer
下载地址
https://github.com/DavidXanatos/TaskExplorer/releases
进入后选择对应系统版本的安装包或便携版即可。软件支持简体中文,安装后默认就是中文界面。
功能介绍
深度进程信息面板
TaskExplorer把每个进程的详细信息分门别类做成十几个面板,点击进程就能在下半部分查看。常用面板包括:
-
线程面板:显示该进程创建的所有线程,还可以查看每个线程的堆栈调用情况,用来诊断程序卡死或者死锁问题
-
内存面板:查看进程的内存占用细节,还能直接编辑内存里的数据,支持字符串搜索
-
句柄面板:展示该进程当前打开的所有系统句柄,包括打开了哪些文件、注册表项、互斥体等
-
套接字面板:列出进程的所有网络连接,包括远程IP地址、端口、发送和接收的数据量
-
模块面板:列出进程加载的所有DLL文件,你可以从这里卸载可疑的DLL,也可以手动注入DLL
-
环境变量:显示进程运行时的环境变量设置,对排查开发环境问题很有帮助
-
窗口面板:显示该进程创建的所有窗口句柄、窗口标题、类名等信息
-
GDI对象:图形界面相关的对象数量,如果某个程序GDI对象泄露(一直增长不释放),会导致界面显示异常
-
.NET运行时:专门为.NET程序提供的面板,显示CLR版本、加载的程序集等信息
实时系统资源监控
界面顶部的工具栏上有CPU、内存、磁盘、网络的使用率图表,一目了然。还有更详细的性能面板,可以看到CPU各个核心的占用历史曲线,以及磁盘读写速率、网络流量速率,甚至GPU的占用率和显存使用情况。这些数据可以回溯一段时间的历史,方便查看系统在什么时候出现过资源高峰。
VirusTotal集成扫描
选中一个进程,右键菜单里可以直接将这个进程的可执行文件上传到VirusTotal网站进行扫描。VirusTotal聚合了几十家杀毒引擎的检测结果,能帮你判断这个程序到底是不是恶意软件。如果你怀疑某个进程是病毒,这个功能非常实用。
签名验证与进程属性
每个进程的主程序文件是否有数字签名、签名是否有效,TaskExplorer会明确标示出来。微软官方系统进程都有有效签名,而恶意软件大多没有签名或者签名是伪造的。这个细节可以帮你快速排除掉大量正常的系统进程,把注意力集中在可疑目标上。
可配置的进程列表
进程列表本身也可以自定义显示哪些列,比如进程ID、CPU占用、内存占用、用户名、命令行参数、父进程ID、运行路径等。你可以按任意列排序,比如按内存占用从高到低排序,瞬间找出内存泄漏的程序。
多窗口分析
如果你需要同时对比两个可疑进程,可以双击中一个进程,它会弹出一个独立的详细信息窗口。这个窗口和主界面下半部分的内容一样,但可以单独放在一边,方便对照查看。
便携免安装
TaskExplorer提供便携版,下载解压就能用,不需要安装。你可以把它放在U盘里随身带着,在别人的电脑上使用时也不用留下痕迹。
应用场景
排查电脑卡顿、CPU长期高占用
打开TaskExplorer,按照CPU占用率排序,找到占用的那个进程。选中它,切换到“线程”面板,看看是哪个线程在疯狂干活。再切换到“套接字”面板,看看这个进程在跟哪个服务器通信。结合这些信息,基本能判断出是正常软件的bug还是恶意挖矿程序。
分析可疑进程是否病毒
在任务管理器里看到一个名字奇怪或者拼写很像系统进程的进程,右键选择VirusTotal扫描。如果绝大多数杀毒引擎都报了毒,那就不离十了。即便不报毒,也可以看它的数字签名——没有签名的可执行文件要格外小心。
检查软件是否有后门行为
有些免费软件会偷偷上传用户数据。用TaskExplorer找到它的进程,查看“套接字”面板,看它建立了哪些网络连接。如果它连向某个陌生的IP而不是软件官方的服务器,就值得警惕了。
开发调试中诊断程序死锁或崩溃
自己写的程序卡死了,用TaskExplorer找到进程,切换到“线程”面板,看每个线程的堆栈调用。你可以看到程序卡在哪一行代码、哪个API函数里,比IDE自带的调试器有时更方便,尤是在没有源代码的环境中。
清理顽固的文件或文件夹
有些文件提示“被另一个程序占用”无法删除。用TaskExplorer的“句柄”面板搜索这个文件名,就能找到是哪个进程打开了它。杀掉那个进程或者关闭它的句柄,文件就能删除了。
信息补充
定价模式:免费,开源软件。开发者David Xanatos通过Patreon和直接捐赠接受用户的支持,但软件本身没有任何收费版本。
开发商背景:个人开发者维护,不是公司产品。开发者同时也在维护另一个知名的系统工具——Sandboxie(沙盘软件),目前Sandboxie也已经开源。
系统要求:支持Windows 7及以上系统,包括32位和64位。由于是基于Qt框架开发,开发者表示未来会推出Linux版本。
与他工具的关系:TaskExplorer使用了Process Hacker库的部分代码,并集成了来自SystemInformer项目的一个驱动程序(systeminformer.sys)来获取底层系统信息。但它的界面和交互方式是自己独立设计的,更简洁直观。
隐私说明:软件本身不联网上传任何数据,唯一的网络功能是用户主动触发的VirusTotal扫描。VirusTotal扫描会将被扫描文件上传到他们的服务器,如果你对上传文件有顾虑,可以不使用这个功能。
| 源码反馈/咨询 (共有 条反馈) |
TaskExplorer常见问题
不是公司做的,是一个叫David Xanatos的国外开发者自己搞的开源项目。他同时也在维护另一个挺有名的工具Sandboxie,现在已经开源了。个人开发者能把工具做到这个深度,挺难得的。
是一个超级任务管理器。Windows自带的任务管理器只能看到有哪些进程在跑,还有它们的CPU内存占用。但TaskExplorer能告诉你这个进程打开了哪些文件、连了哪些网址、加载了哪些DLL,甚至可以看它每个线程在干嘛。如果你怀疑电脑中毒或者想排查哪个程序在作怪,用它就对了。
没那么吓人。打开后上半部分是一个进程列表,和任务管理器差不多。你选中一个进程,下半部分就会出现一堆选项卡--线程、内存、句柄、套接字等等。默认打开的是线程面板,想看它连了什么网络就点“套接字”,想看它打开了什么文件就点“句柄”。用键盘上下键切换进程时,下半部分的信息会自动跟着变,很方便。新手可以从右键进程选择“VirusTotal扫描”开始玩起,慢慢再探索他面板。
免费,而且是开源的,源代码在GitHub上可以找到。开发者接受捐赠,但你不给他打钱也不影响任何功能,没有付费版或者专业版的区别。
只是查看信息的话非常安全,它不会修改任何系统设置或者进程数据。不过软件里有些高级功能,比如卸载DLL、编辑内存、关闭句柄这些,如果乱点确实让某个程序崩溃或者系统不稳定。但这些操作都需要你主动去点,不是自动发生的。不熟悉的功能先别碰就行了。
有几个很实用。第一,怀疑某个文件被占用删不掉的时候,点“搜索”菜单里的“查找句柄或DLL”,输入文件名,就能找到是哪个进程在占用。第二,想对比两个进程,直接双击中一个,会弹出一个独立窗口,你可以把它拖到一边,再选中另一个进程做对比。第三,分析可疑进程时先看数字签名,没有签名的要格外小心。第四,性能面板可以回溯历史数据,如果电脑刚才突然卡了一下但是现在已经恢复了,去性能面板往回拖时间线还能看到当时的资源占用高峰。
VirusTotal的一键集成很方便,他的进程工具要么不支持,要么操作很麻烦。另外它的面板覆盖面很全,连GDI对象和.NET运行时都有专门的面板,对开发人员来说很友好。还有一个特色是套接字面板里对伪UDP连接的支持,通过ETW(事件跟踪)数据来追踪,一般工具不显示UDP连接信息。还有就是它的界面设计,所有信息都在一个窗口里,用键盘就能全盘掌控,效率比较高。
软件本身不会主动联网上传任何数据。唯一的网络活动是你主动触发的VirusTotal扫描,而且扫不扫、扫哪个文件,是你自己决定的。即使你不用VirusTotal功能,他所有功能都离线运行。源代码也是公开的,不放心可以自己编译或者让懂代码的朋友检查。
坦率说,有一定门槛。它面向的用户群体是系统管理员、开发者、安全研究人员这些有一定技术背景的人。如果你只是想知道哪个程序占用CPU高,那Windows自带的任务管理器就够了。但如果你是那种喜欢搞清楚电脑里到底在发生什么的人,愿意花几分钟学习一下各个面板的含义,那TaskExplorer会给你很大的满足感。而且它的界面设计实已经很直观了,相比类似功能的Process Explorer,TaskExplorer对新手要友好不少。
占用的资源很少。它本身是个轻量级工具,平时放在后台不操作的时候,CPU占用基本为0,内存占用也就几十兆。不过当你选中一个大型进程比如浏览器,并且查看它的线程或者句柄面板时,软件需要从系统里读取大量数据,这时候CPU和内存占用会临时高一下,读取完了就降回去了。这是正常现象,不会影响电脑日常使用。
支持Windows 7、Windows 8、Windows 10和Windows 11,32位和64位系统都可以。官方说未来会出Linux版,但目前只有Windows版。不支持苹果的macOS系统。
可以,而且能力比任务管理器强。有些进程在任务管理器里显示“拒绝访问”结束不了,用TaskExplorer右键选择“终止进程”,都能搞定。如果还不行,可以试试先看看这个进程是不是被他进程保护着,或者用“句柄”面板看看它打开了什么系统资源,找到根源后再处理。不过对系统核心进程要小心,杀掉它会导致蓝屏。