![为什么从命令行启动关机速度更快?](https://linux22.com/image/1306197/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%90%AF%E5%8A%A8%E5%85%B3%E6%9C%BA%E9%80%9F%E5%BA%A6%E6%9B%B4%E5%BF%AB%EF%BC%9F.png)
每当我使用类似的命令时
shutdown -s -f -t 00
我可以看到关机速度比我单击 Windows GUI 中的关机按钮时更快。
这种情况可以与我的其他操作系统(即 Ubuntu)进行比较。在 Ubuntu 终端中,如果我输入以下命令进行关机,则该过程会更快,并且据我所知从未失败过。但如果我在 GUI 中使用关机按钮,系统有时会挂起,并且其过程需要更长时间才能执行。
sudo init 0
我感觉终端和命令提示符直接在内核上运行。但我很好奇这背后是否还有其他技术手段。
答案1
首先,您使用的命令与按下 GUI 按钮时使用的命令不同,因此单独使用这些命令会提高速度。
第二,GUI 具有 GUI 特定的提示/效果/等,它必须先运行这些提示/效果/等才能执行命令。这还会增加单击 GUI 中的按钮的整体效果的时间。
这不是一个坏问题,它并不像说的那样简单明了命令复制与 GUI 复制,但我认为主要的性能提升在于您使用的实际命令(例如有限的等待时间、强制关闭)。GUI 将有一个默认的等待时间,并会提示强制关闭,提示属于类别2而强迫属于类别1。
答案2
在 Windows 上,当您使用 GUI 关机时,系统会等待关闭所有正在运行的程序,最多 20 秒。也许当您使用该命令时,Windows 不会等待它。(也许在 Linux 上也一样?)