Windows的正常关机
来源:互联网 发布:没有网络连接 编辑:程序博客网 时间:2024/04/18 23:43
Windows的正常关机涉及到多个组件和多个过程。我们来看一下它的基本过程。
①用户发起关机指令后,发起关机指令的程序会通知 Windows 子系统 CSRSS.EXE,CSRSS.EXE 收到通知后会和 Winlogon.EXE 做一个数据交换,接着由 Winlogon.EXE 通知 CSRSS.EXE 开始关闭系统的流程。
②CSRSS.EXE 收到 Winlogon.EXE 的通知后,会依次查询拥有顶层窗口的用户进程,让这些用户进程退出。如果某一个用户进程在一个默认的超时时间5000毫秒(可以通过修改注册表键值 HKEY_CURRENT_USERControl PanelDesktop HungAppTimeout设定超时时间)内没有退出的话,Windows 会显示一个结束任务对话框用于询问用户是否结束这个任务。默认情况下这个对话框会一直显示而不会自动关闭。 对于控制台程序来说,基本情况类似,只不过 Windows 使用 HKEY_CURRENT_USERControl PanelDesktop WaitToKillAppTimeout 来设置超时时间。
③接着是轮到终止系统进程了。系统进程包括 SMSS.EXE 、Winlogon.EXE、Lsass.EXE 等。Windows 在终止系统进程的时候并不像终止用户进程那样如果无法在规定时间内终止则提示用户,而是跳过这个进程,去执行下一个系统进程的终止操作。使用的超时时间和第2步使用的时间相同。
上述3个步骤是整个Windows关机过程中最耗费时间的一段,大多数关机缓慢的原因都是因为这3个步骤引起的。完成前3个步骤后,进入关机操作的第4个阶段,这也是最后一个阶段。
④Winlogon.EXE 调用一个原生API函数 NtShutdownSystem()来命令系统执行后面的扫尾工作。在这个阶段里, Windows 执行子系统会完成最后的关机操作,例如:设备驱动在这个阶段里完成一些驱动设定的特殊操作;也是在这个阶段,配置管理系统将被修改过的注册表数据回写到磁盘里面。等除了电源管理以外的全部子系统完成退出以后,电源管理完成最后的操作:如重启、关机等
- Windows的正常关机
- Linux的正常关机
- 联想LENOVO K2450升级(或全新安装)Windows 10后不能正常关机的解决方案
- Ubuntu无法正常关机的解决
- Windows 的关机命令
- Windows 关机消息的截获
- Windows XP的定时关机
- Windows 关机消息的截获
- windows 的关机,睡眠,休眠
- 电脑不能正常关机
- 电脑不能正常关机
- Linux正常关机命令
- linux 正常关机
- 正常关机流程
- 解决拨号连网导致的不能正常关机的问题
- 非正常关机导致的开机很慢
- RedHat非正常关机的自动磁盘修复
- linux 非正常关机引起的磁盘文件损坏
- 你最大的优点是什么?(回答技巧及范例)
- 顺序栈
- 嵌入式实时操作系统uc/os-ii 原理及应用 读书笔记
- 伪静态常用系统规则
- (链表实现)写出两个一元多项式相加的算法
- Windows的正常关机
- WebGL 相关资源收集
- C#中new和override区别
- EXCEL2000 导入到SQL2005出现科学计数的解决办法
- 解决 oracle EXP-00091: Exporting questionable statistics. 问题
- 缓冲区溢出
- b2c网站如何做?
- 读“圣思园开学仪式(学习方法谈:程序设计学习七宗罪)” 笔记
- 《那些年啊,那些事——一个程序员的奋斗史》——41