geelaw
2020-09-19 14:40:40 +08:00
Windows 会话非强制结束时会询问所有程序“你准备好被关掉了吗”,如果程序(在一定时间内)没有回答,或者回答“没准备好”,那么 Windows 就不会关机,并提示用户“有些程序阻止了关机”,用户可以强制关机或者取消关机并处理没准备好关机的程序。
记事本属于“没有回答”,因为记事本会问用户“你要保存吗”,这是一个模态对话框,记事本只有在这个对话框关闭之后才会回答系统它“准备好了吗”,但用户此时无法回答记事本的对话框。
推荐的做法是在系统提问的时候进行自动保存,然后下次启动后恢复。通常来说程序会等自动保存完毕,并且完毕后回答“我准备好了”。一旦程序回答了“准备好了”,Windows 就可以关闭它了,这个处理是对每个程序进行的而不用等所有程序都 OK,所以你会看到很多程序会在“还没准备好”列表里出现一下,然后消失,因为它们在你取消关机之前搞定了一切。
有些程序会无脑回答“准备好了”,结果就是丢数据。例如不久以前的 Chrome 有这个问题,现在已经修复。