我只想知道两者之间的区别
reboot
init 6
shutdown -r now
哪一个是最安全和最好的?
我只想知道两者之间的区别
reboot
init 6
shutdown -r now
哪一个是最安全和最好的?
Answers:
它们没有区别。在内部,它们执行完全相同的操作:
reboot
使用shutdown
命令(带有-r开关)。shutdown命令用于终止所有正在运行的进程,卸载所有文件系统,最后告诉内核发出ACPI power命令。来源可以在这里找到。在较早的发行版中,reboot命令通过发出SIGKILL
信号来强制进程退出(仍然在源代码中找到,可以使用-f
option 调用),在最近的发行版中,它默认为更加优美且初始化友好init 1 -> shutdown -r
。这样可以确保守护程序在关闭之前自行清理。
init 6
告诉init
进程关闭初始化文件中写入的所有生成的进程/守护程序(以它们启动时的相反顺序),最后调用shutdown -r now
命令重启计算机
如今,这两个命令的功能完全相同,因此并没有太大区别,它们通过调用关闭脚本来尊重用于启动服务/守护程序的初始化脚本。除reboot -f -r now
下述内容外
从联机帮助页中可以看出为什么reboot -f
不安全:
-f,--force 强制立即停止,关闭电源,重新启动。不要联系初始化系统。
编辑:
忘记提及了,在以后的RHEL发行版中,您应该使用new systemctl
命令来发出poweroff / reboot。如的联机帮助页所述reboot
,shutdown
它们是“仅可用于兼容性的旧命令”。该systemctl
方法将是唯一的安全方法。
init 1 -> shutdown -r
吗?
关机是可取的,因为它允许您指定采取剧烈动作的原因 -您应该始终这样做。该消息将记录在后代日志中。例如:
shutdown -r now 'Kernel upgrade requires reboot'
您还可以执行计划的重启-通过指定其他now
时间作为重启时间:
shutdown -r 22:00 'Work around kernel memory leak'
然后,随着时间的流逝,您的用户将得到定期提醒,以提醒他们出去-流程将更加有序和专业。