(未获得作者本人同意,严禁转载)

Process Explorer出现的背景

Process Explorer可以看成是一个加强版的任务管理器。在较早的Windows版本中,任务管理器提供的功能是非常简单的(比如查看CPU、内存的使用情况,强制结束进程等),很难满足我们高级一些的需求。在这种情况下,Process Exploere就应运而生了,大大的方便了我们工作中监测进程和排除故障的工作。

下载地址

功能介绍

这里我会从实际应用的角度对Process Explorer的一些功能点进行介绍。

1. 替换任务管理器

Process Explorer提供了相对与任务管理器更加强大实用的功能,所以有的时候就会想着直接把任务管理器给替换掉得了。Process Explorer提供了这样一个功能,可以在用户触发打开任务管理器的操作的时候直接打开Process Explorer。

操作步骤:

Options -> Replace Task Manager

之后在我们运行Win+Esc、Ctrl+Shift+Del的时候打开的就是Process Explorer了。

2. 查看当前系统中运行的进程

Process Explorer对进程以树形图的形式进行展示,这样方便我们观察父子进程之间的关系。从这里我们可以看出来,绝大部分的窗体应用程序都是explorer.exe的子进程,大部分的后台进程都在services.exe下面:

Process Explorer会以不同的颜色标示不同状态的进程,比如:

  • 浅蓝色: 和Process Explorer属于同一个用户的进程。
  • 粉红色: 服务进程,通常会包含一个或多个Windows服务。
  • 黄色: .NET进程。
  • 深灰色: 挂起的进程。
  • 紫色: 标识包含压缩或者加密的可执行代码的进程。一些病毒软件经常会利用这种方式绕过杀毒软件。
  • 红色: 刚刚退出的进程。

我们还可以通过右键点击右侧列头选择显示我们感兴趣的属性:

3. 查看进程的详细信息

如果我们对某个进程的感兴趣,我们可以双击这个进程查看它的详细信息:
ProcessInfo.jpg

这里值得一提的是Command lineCurrent directory这两个属性。

Command line: 启动进程的时候调用的命令。从这里我们可以了解怎么样去调用这个进程,和有关当前进程启动的详细信息。

Current directory: 当前进程活动所在的文件夹。

4. 查看文件正在被什么进程占用

我们在操作文件(删除、重命名等)的时候遇到错误提示,说文件正在被其他进程占用,无法执行操作。这个时候可以打开Process Explorer对文件进行查找:

Ctrl + f

输入要查找的文件名就可以看到有那些进程正在使用这个文件了: Search File

双击搜到的进程Process Explorer会在下面高亮显示出对应的文件句柄。从这里我们可以强制关闭对应的句柄以达到不让文件被继续占用的目的。

5. 实时监控系统的性能

通过View -> System Info我们可以打开Performance窗口查看过去一段时间内系统的性能数据:

我们也可以通过设置把感兴趣的性能数据固定在任务栏里显示:

6. 获取Dump文件

借用百度百科的介绍,Dump文件是进程的内存镜像。通常在进程没有反应或者崩溃的时候我们需要借助Dump文件来分析进程里面发生了什么。 Process Explorer提供了一个快捷的方式来获取Dump文件:

右键点击进程 -> Create Dump

我们可以根据需要选择获取最小的dump还是完整的dump文件。

7. 进程操作

Process Explorer提供了很多进程级别的操作:

8. 安全验证

Process Explorer提供了强大的进程查看功能帮助我们对进程信息的合法性进行检验,包括:

  • 进程签名
  • 进程路径
  • 运行路径

9. 设置Symbols显示更详细的堆栈信息

设置Symbol之前:

设置Symbol之后:

详细操作步骤请参考:

Resolve Symbols in Process Explorer-Monitor Without Installing the Debugging Tools

Process Explorer常用操作介绍的更多相关文章

  1. 5.Project常用操作介绍

    Project常用操作介绍 1.项目浏览器 2.项目属性 Name:项目名称 Category:项目组织结构 Author:作者 Copyright:版权 Image:项目图标 Description ...

  2. Docker 基础概念科普 和 常用操作介绍

    Docker 基础概念 Docker是什么?         Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...

  3. SVN常用操作介绍

    SVN:全称subversion,开源代码版本控制系统,也就是常说的“版本控制工具”,实现代码.文档等的历史版本保存.共享和权限管理.常用于软件开发项目中,开发将最新的代码放到svn,其他同事可在这个 ...

  4. go语言之进阶篇文件常用操作接口介绍和使用

    一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...

  5. go语言之进阶篇字符串操作常用函数介绍

    下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...

  6. redis入门:介绍、特点、安装、各类型常用操作

    一.redis介绍 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. Redis支持多种类型的数据结构,如 字符串(strings), 散列(ha ...

  7. git介绍-常用操作(一)

    Table of Contents 1  系列文章 2  git说明 3  git常用命令 3.1  基本操作 3.2  远程操作 4  查看git的配置 4.1  查看已配置项 4.2  其他配置 ...

  8. Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)

    平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...

  9. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

    C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...

随机推荐

  1. 引用类型 ( 对象定义 )——Object 类型

    本文地址:http://www.cnblogs.com/veinyin/p/7607100.html  创建实例 new 操作符后跟构造函数 var people = new Object(); pe ...

  2. 浅谈卡特兰数(Catalan number)的原理和相关应用

    一.卡特兰数(Catalan number) 1.定义 组合数学中一个常出现在各种计数问题中出现的数列(用c表示).以比利时的数学家欧仁·查理·卡特兰的名字来命名: 2.计算公式 (1)递推公式 c[ ...

  3. 浅谈Stein算法求最大公约数(GCD)的原理及简单应用

    一.Stein算法过程及其简单证明 1.一般步骤: s1:当两数均为偶数时将其同时除以2至至少一数为奇数为止,记录除掉的所有公因数2的乘积k: s2:如果仍有一数为偶数,连续除以2直至该数为奇数为止: ...

  4. 旅游(CSUST省赛选拔赛2+状压dp+最短路)

    题目链接:http://csustacm.com:4803/problem/1016 题目: 思路:状压dp+最短路,比赛的时候有想到状压dp,但是最短路部分写挫了,然后就卡死了,对不起出题人~dis ...

  5. 从ZoomEye API 到 Weblogic 弱口令扫描

    参考资料: ZoomEye API: https://www.zoomeye.org/api/doc Weblogic-Weakpassword-Scnner: https://github.com/ ...

  6. 2017ACM暑期多校联合训练 - Team 7 1009 HDU 6128 Inverse of sum (数学计算)

    题目链接 Problem Description There are n nonnegative integers a1-n which are less than p. HazelFan wants ...

  7. JFinal向客户端渲染图片的方法

    JFinal提供了好几种方便的render但是不知道为啥就是没有提供直接渲染图片的render,如果我们直接在Controller的方法中往输入流中写的话是还是会有默认的render生效的,比如下面这 ...

  8. Javascript装饰器的妙用

    最近新开了一个Node项目,采用TypeScript来开发,在数据库及路由管理方面用了不少的装饰器,发觉这的确是一个好东西.装饰器是一个还处于草案中的特性,目前木有直接支持该语法的环境,但是可以通过 ...

  9. Deep Learning基础--理解LSTM/RNN中的Attention机制

    导读 目前采用编码器-解码器 (Encode-Decode) 结构的模型非常热门,是因为它在许多领域较其他的传统模型方法都取得了更好的结果.这种结构的模型通常将输入序列编码成一个固定长度的向量表示,对 ...

  10. [转载]锁无关的数据结构与Hazard指针——操纵有限的资源

    Lock-Free Data Structures with Hazard Pointers 锁无关的数据结构与Hazard指针----操纵有限的资源 By Andrei Alexandrescu a ...