小智 107
它们没有区别。在内部,它们做完全相同的事情:
reboot
使用shutdown
命令(使用 -r 开关)。shutdown 命令用于杀死所有正在运行的进程,卸载所有文件系统,最后告诉内核发出 ACPI power 命令。来源可以在这里找到。在较旧的发行版中,reboot 命令通过发出SIGKILL
信号(仍然可以在源代码中找到,可以使用-f
选项调用)来强制进程退出,在最近的发行版中,它默认为更优雅和 init 友好的init 1 -> shutdown -r
。这可确保守护进程在关闭前自行清理。
init 6
告诉init
进程关闭 init 文件中写入的所有生成的进程/守护进程(以它们启动的相反顺序),最后调用shutdown -r now
命令重新启动机器
今天没有太大区别,因为这两个命令完全相同,并且它们通过为它们调用关闭脚本来尊重用于启动服务/守护程序的 init 脚本。除了reboot -f -r now
下面提到的
从联机帮助页中有一个关于为什么reboot -f
不安全的小解释:
-f, --force 强制立即停机、断电、重启。不要联系初始化系统。
编辑:
忘了提一下,在即将发布的 RHEL 发行版中,您应该使用新systemctl
命令来发出 poweroff/reboot。正如它们的联机帮助页中所述reboot
,shutdown
它们是“仅可用于兼容性的旧命令”。并且该systemctl
方法将是唯一安全的方法。
Mik*_* T. 15
关闭更可取,因为它允许您指定剧烈操作的原因——您应该始终这样做。该消息将记录在日志中以供后代使用。例如:
shutdown -r now 'Kernel upgrade requires reboot'
您还可以执行预定的重启——通过指定now
重启时间以外的其他内容:
shutdown -r 22:00 'Work around kernel memory leak'
然后你的用户会在时间临近时收到定期提醒离开——这个过程会更加有序和专业。
在 FreeBSD 上,reboot
和之间存在差异shutdown -r now
。从reboot
手册页:
通常,shutdown(8) 实用程序在系统需要停止或重新启动时使用,向用户发出即将到来的厄运的提前警告并干净地终止特定程序。
归档时间: |
|
查看次数: |
346964 次 |
最近记录: |