Windows 任务管理器作者:任务管理器可杀死任意进程
Windows 任务管理器(Windows Task Manager)的原始作者 Dave Plummer 近日在 Reddit 开帖分享关于任务管理器的冷知识和设计理念,并解答了网友的部分疑问。
在微软工作了十几年的 Dave 是从头开始构建任务管理器的开发者,大约1994年,他在家中的书房里编写出了任务管理器(TaskMgr),尽管当时他还只是一名新手,NT 内核的开发者看到后依旧让 Dave 将任务管理器加入到内核的主分支中。这就意味着开发任务管理器将成为他的工作,并且需要继续打磨以使它成为 Windows 系统的官方部分。
按照 Dave 最初的设想,任务管理器会以共享软件的形式提供,他计划将其出售给有需要的使用者,不过由于 NT 内核开发者的建议,任务管理器最后成为了一款免费应用并与 Windows 捆绑在一起。任务管理器于1996年首次随 Windows NT 4.0 一起提供,此后 Windows 的用户都能通过该应用检查 CPU 负载或杀死进程。
除了任务管理器,Dave 还参与了三维弹球(Space Cadet pinball)的开发和移植工作,编写了 Zip Folder 的 UI 和文件管理部分,以及参与开始菜单、shell、计算器、ole32 和产品激活等产品的开发工作。
Dave 表示任务管理器是自己最引以为豪的应用程序之一,因为它可能是有史以来第一个最复杂,至少在视觉效果上是最复杂的应用程序,并且在任意尺寸下完全调整任务管理器的窗口大小都不会出现任何抖动情况。当时的应用对内存要求十分苛刻,所以任务管理器的大小保持在 100K 以下。GDI32 和 User32 的同事也提供了不少帮助。
Dave 分享的关于任务管理器的一些使用技巧:
- 如果任务管理器挂起或崩溃,可通过按下 Ctrl-Shift-Esc 组合键启动另一个。Winlogon 会寻找一个现有的实例,并尝试在10秒内重新启动它。如果旧的任务管理器没有在这段时间内以秘密代码进行回应,那么另一个任务管理器将被启动。如此一来,只要有可使用的资源,就可启动任务管理器。
- 如果资源不足,任务管理器会在简化模式(reduced mode)下加载,例如只加载进程页面(如果确实有这样的需求)。它是为数不多的不会在出现问题时直接“失败并退出”的应用程序之一。
- 如果任务管理器内部出现损坏,先关闭或杀掉进程。然后在重启的同时按下 Ctrl-ALT-Shift 组合键,任务管理器在启动时发现此组合键,会将所有的内部设置重置为出厂设置。
- 使用 Ctrl-Shift-Esc 组合键可在没有 Shell 的帮助下启动任务管理器,所以如果 Shell/Explorer 处于挂起状态,可通过此组合键调出任务管理器,然后重置或重启 Shell。即使托盘消失,也可以通过此组合键启动任务管理器。
- 如果 Shell 无法启动或处于挂起状态,可以尝试使用任务管理器,它有一个模式,在此模式下,任务管理器会在没有任何引用 shell32.dll 的情况下加载,并允许在没有开始菜单的情况下启动 CMD.EXE 等程序。
- 任何在进程表中正在执行的进程,右键点击"显示文件位置"即可查看进程的二进制文件。
- 理论上可通过任务管理器杀死任何进程,如果用户拥有权限,它甚至可以升级权限以启用调试权限来杀死应用程序。如果有连任务管理器都不能杀死的进程,说明内核出现了问题。
- 可在进程页上添加额外的列或删除其他列,并拖动它们进行重新排序。
任务管理器比大部分人认识到的更为复杂,因为它诞生之初就旨在解决用户在需要该应用程序时可能遇到的大多数情况。这些年来,微软没有对任务管理器的底层进行改动。因此,上面介绍的所有使用技巧不仅适用于旧版本 Windows,同样也适用于 Windows 10。
最后,为了致敬任务管理器,建议使用任务管理器关闭此页面 : )
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dcat Admin v1.4.6 发布,对后端开发者友好的高颜值后台系统构建工具
Dcat Admin v1.4.6 更新内容: BUG 修复部分 修复linux系统下上传超过5M大小的文件报错问题 修复Form::block布局无法正常显示编辑数据问题#156 修复数据表单弹窗重复刷新页面问题 修复Form::selectResource表单无法设置默认值问题 功能优化部分 ContextMenuActions操作列宽度优化 移除已废弃的配置参数以及多余前端组件 简介 Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需很少的代码即可快速构建出一个功能完善的高颜值后台系统。内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码,对后端开发者非常友好。 在线演示站点|官方文档|Gitee主页|Github主页
- 下一篇
每日一博 | 为什么说 Kubernetes 是一个新数据库
作者 |张磊,阿里云高级技术专家、CNCF 官方大使,CNCF 应用交付领域 co-chair,Kubernetes 项目资深维护者 最近,Kubernetes 社区里有一个关于“Kubernetes is the new database”的论述,引起了很多人的关注。当然,这个论述更确切的含义,指的是 Kubernetes 项目本身的工作原理类似于数据库,而不是说你应该把 Kubernetes 当数据库用。 粗看起来,这个 “Kubernetes 是一个数据库” 的论述还是比较匪夷所思的。毕竟我们平常所说的 Kubernetes 的工作原理,比如控制器模式、声明式 API 等等,好像跟“数据库”这个东西并没有什么直接关系。但实际上,这个论述背后却有着其非常本质的含义。这里的缘由,得从 Kubernetes 项目里一个最基础的理论谈起。 Kubernetes 声明式应用管理理论基础 在我们讨论 Kubernetes 的时候,往往会提到这样一个概念,叫做“声明式应用管理”。实际上,这也是 Kubernetes 项目跟其他所有基础设施项目都不一样的一个设计,是 Kubernetes 所独有...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7