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

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. 【BZOJ】2599: [IOI2011]Race 点分治

    [题意]给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000.注意点从0开始编号,无解输出-1. [算法]点分治 [题解] ...

  2. 【AtCoder】ARC086 E - Smuggling Marbles

    [题目]E - Smuggling Marbles [题意]给定n+1个点的树(root=0),每个点可以选择放或不放弹珠,每一轮顺序进行以下操作: 1.将根节点0的弹珠加入答案. 2.每个点的弹珠移 ...

  3. 脱离MVC使用Razor模板引擎

    关于Razor模板引擎 1.简介 模板引擎:Razor.Nveocity.Vtemplate.Razor有VS自动提示.使用起来会方便一点. 但是Razor大多是在MVC下使用的. 那么如何在非MVC ...

  4. oozie与sqoop的简单案例

    1:拷贝模板 2:拷贝hive用的jar包 方式一: 3:编辑job.properties # # Licensed to the Apache Software Foundation (ASF) u ...

  5. 天梯赛 L1-009 N个数求和 (模拟)

    本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数"分子/分母"的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(<=1 ...

  6. 深入理解Spring系列之十二:@Transactional是如何工作的

    转载 https://mp.weixin.qq.com/s/ZwhkUQF1Nun9pNrFI-3a6w 首先从说起.配置了,就必定有对应的标签解析器类,查看NamespaceHandler接口的实现 ...

  7. svn add --no-ignore

    提交新代码时:svn add --no-ignore  /dir   不加的话可能会漏提交某些依赖或文件. Svn st -q --no-ignore. 提交时不需要加

  8. 关于DataTable.Select不到数据的一种解决方案

    网上有很多说的,试过,都没用.自己研究了一下,解决方案如下: 建立dataview,用dv.rowfilter,就可以取到了,然后TOTABLE即可. 代码如下:(只看中间那几句即可) private ...

  9. 【bzoj4293】【PA2015】Siano

    如题,首先可以考虑相对大小是不变的. 那么先sort,之后每次在线段树上二分即可. #include<bits/stdc++.h> typedef long long ll; using ...

  10. fsarchiver创建系统镜像(dd命令也可以)

    fsarchiver简介 fsarchiver可以将整个文件系统的内容保存成一个压缩形式的归档文件,包含文件系统本身.所以用来做系统镜像是一个不错的选择,一旦系统崩溃但可以进入救援模式,我们就可以使用 ...