当前位置: 首页 > 图文教程 > 操作系统 > Windows > 快速关机会导致Windows数据损坏吗?

Windows
Windows 7兼容中心即将上线
微软展示Windows 7:原生支持转码加速功能
Computex 2009大会 - Windows 7发售日期公布
Windows 7 RC发布导致Vista市场份额增速减缓
Windows 7 Build 7201 再次遭到泄露
Win 7家长控制功能规范员工电脑使用
巧妙使用Windows 7中空白鍵
微软 - Windows7将无法在搭载ARM处理器的上网本上运行
Windows Server 2008 R2新特性:活动目录回收站
微软确认:澳大利亚和新西兰是Windows 7首发地区
教你在Windows 7和XP之间共享文件
针对Windows 7 - 微软为旗下硬件开发新软件
微软商店确认Windows 7包装设计图
Windows Vista/7中关机、睡眠和休眠有什么区别?
XP用户观念根深蒂固 - 说服其升级到Windows 7困难重重
Windows 7 RTM Touch Pack - 触摸软件包泄露
Windows 7和多点触摸当道ComputeX 2009大会
一体成形电脑 - Omnia iPC S20 AiO
给Windows 7装上Vista的Windows Mail
Windows 7铃声试听下载

快速关机会导致Windows数据损坏吗?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 85 ::
收藏到网摘: n/a

  安徽赵凯读者来信:“我最近下载了一款快速关机的软件,这款软件非常厉害,几乎眨眼工夫就将电脑关闭了。很多人说这个软件可能会破坏数据,但他们又没有说出相应的依据。我现在很矛盾,有了一个好东西,却又不敢用。董师傅,希望你能给一个权威的说法,以消除我的疑惑。”

  不光是赵凯读者提到的软件能实现快速关机,而且采用一些技巧也可以达到同样的目的,但这样操作究竟会带来什么后果呢?这次被师傅邀请到“话题馆”参与讨论的是对Windows系统颇有研究、荣获2004年微软最有价值专家的张康宗先生。

  从平常的经验可以看出,执行了关机操作后电脑不会立即断电,Windows还会有一系列的动作如关闭打开的程序等,那么从执行关机命令到最终断电是一个什么样的过程呢?
  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步使用的时间相同。

  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步使用的时间相同。