因为PC操作系统(主要说的是Windows)对应用的掌控力度不够强,为了兼容性的考虑,无法真正屏蔽很多软件的流氓行为,这使得不关机对于(基于Windows的)PC来说不太现实。
理论上 ,PC当然也可以像手机一样,只休眠不关机。 理论上 ,笔记本合盖应该休眠, 理论上 ,屏幕关了不用,台式机应该自动休眠。
但,实际上真的是这样吗?
某些软件很流氓,他们会主动的将PC放置到不休眠的状态。——而且常常的,当你开了很多软件不想关的时候,你没有精力去找出「究竟哪个软件正在阻止电脑休眠」这件事。真想找也没那么容易找。
而这件事,本应当操作系统具备更大的强制力才行,比如,你至少应当告诉用户,谁正在阻止休眠吧?可惜Windows并没有做到这一点。
因此,你可能会发现台式机在半夜突然开机,或者发现台式机根本没休眠的运行整晚,也可能发现放进包里的笔记本再开机的时候烫得不行(因为并未休眠,持续运行导致发烫),也可能发现笔记本关机进包第二天直接黑屏电量耗光睡死过去。——对Windows用户来说,你程序用得越多,就越有更高的概率发现上面的事。
MacOSX跟Linux这方面要略微强一些,因为他们会主动杀进程。Linux甚至会主动杀掉内存占用过高的进程,所以我一向坚持,判断内存分配返回值意义不大,你要是真的内存占用过多,操作系统提前就把你干掉了,轮不到你申请内存返回空。
主动杀进程也不一定就是好事,它依赖所有应用程序都为「崩溃式退出」而设计。换句话说,应用程序应当意识到自己被杀掉是一件正常环境能够正常发生的事情,并且在被杀掉之后能够正常启动。如果所有应用都为此考虑,那么操作系统确实可以随时随地杀掉他们,那么操作系统的自我维护能力更强,更容易坚持长期稳定运行。
反之,如果一个操作系统下,有大量的传统的,无人更新维护的应用,那么操作系统不敢随意对应用进行规定和限制,即便一些应用的行为会影响操作系统的整体体验,操作系统也只能默许他们的存在并且兼容之。这部分应用是这个操作系统的生态资源优势,同时也成为了这个操作系统进步迭代的桎梏。