如何正确关闭或重启 Unix/Linux 服务器

如何正确关闭或重启 Unix/Linux 服务器

关闭 Unix/Linux 服务器的正确方法是什么?

通过谷歌搜索,我(希望)了解到以下内容:

关闭:我应该使用这个,使用参数 -h 来停止,或者使用参数 -r 来重新启动

:停止计算机(停止处理器?这是否从物理上关闭了计算机电源?)。我认为如果不是在 init0,这将调用关机,否则只是停止。

重启:如果不在 init6,则调用关机,否则仅重新启动计算机。

如果所有这一切都正确,那么我唯一不明白的是“halt”到底是做什么的。它只是停止处理器,而不是物理关闭计算机吗?我如何“关闭”计算机?

谢谢

答案1

shutdown -h now将在大多数系统中关闭计算机,但这取决于实现。使用-Ppoweroff 可以确保关闭,-H使用 halt 可以确保关闭。这是我推荐的关闭系统的方法。它将运行所有正确的脚本。

haltwithout-f只会调用上面的 shutdown 和 will reboot,它们基本上只是别名。

答案2

在 Linux 上,我一直使用reboothalt,但我也知道有人觉得halt很可怕。halt(8)这说明了原因:

在较旧的 sysvinit 版本下,永远不应直接调用 reboot 和 halt。从版本 2.74 开始,如果系统不在运行级别 0 或 6,halt 和 reboot 将调用 shutdown(8)。这意味着,如果 halt 或 reboot 无法找到当前运行级别(例如,当 /var/run/utmp 尚未正确初始化时),将调用 shutdown,这可能不是您想要的。如果您想执行硬停止或重新启动,请使用 -f 标志。

sysvinit 2.74 的发布日期为 1998 年 3 月 17 日 21:53。:)

关于如何关机的问题,您可以使用poweroff或。大多数最新的 Linux 系统似乎只使用或就可以halt -p关机。haltshutdown -h

答案3

我使用halt——需要记住的参数较少。

有人开发了虚拟莫莉·加德确保不会意外停止错误的服务器。它曾多次拯救了我。它被打包在molly-guardUbuntu 上。

答案4

值得注意的是:

Solaris 需要“shutdown -y -i5 -g0”才能关机,或者“shutdown -y -i6 -g0”才能重启。Solaris 上的 Halt 或 Reboot 只应在开始关机前不给出警告或宽限期的情况下使用...如果您在关机前没有卸载磁盘系统,这可能会对磁盘系统造成严重破坏,您知道吗?

最好采用最适合您每天接触的操作系统的程序,这样您就不会在凌晨 2 点用手指不小心把某些东西搞砸。

例如,永远不要在 solaris 中输入“killall”,而这在 linux 中是一个相当常见的命令。不过,“pkill”在两者上的工作原理相同。

相关内容