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

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. JAVA中反射机制六(java.lang.reflect包)

    一.简介 java.lang.reflect包提供了用于获取类和对象的反射信息的类和接口.反射API允许对程序访问有关加载类的字段,方法和构造函数的信息进行编程访问.它允许在安全限制内使用反射的字段, ...

  2. OWL库(叙词表构建本体OWL库)程序说明文档

    本体程序(叙词表转化OWL)及相关数据 程序已有资源:

  3. LintCode 508: Wiggle Sort

    LintCode 508: Wiggle Sort 题目描述 给你一个没有排序的数组,请将原数组就地重新排列满足如下性质 nums[0] <= nums[1] >= nums[2] < ...

  4. Calf Flac

    1.3.3 Calf Flac Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 223  Solved: 42[Submit][Status][Forum] ...

  5. ORA-01552 非系统表空间不能使用系统回滚段处理

    今天新搭建了一个10g的测试数据库,运行都很正常,但是在打开autotrace功能后执行语句,报错 SQL> set autotrace on SQL> select username,s ...

  6. 给vim安装YouCompleteMe

    要安装YouCompleteMe ,vim须支持python.看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持. 如果不支持,需要以编译安装方式重 ...

  7. spring boot注解学习记

    @Component Compent等效于xml文件中的Bean标注,Autowired自动初始化Bean是通过查找Component注解实现的,在增加Component后还是Autowired找不到 ...

  8. 008 BlockingQueue理解

    原文https://www.cnblogs.com/WangHaiMing/p/8798709.html 本篇将详细介绍BlockingQueue,以下是涉及的主要内容: BlockingQueue的 ...

  9. PGSql

    http://www.yiibai.com/postgresql/ http://www.postgresql.org/ http://blog.csdn.net/wulex/article/deta ...

  10. C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法

    本文转载自:https://blog.csdn.net/qq_33573235/article/details/79530792 1. 二维数组和指针 要用指针处理二维数组,首先要解决从存储的角度对二 ...