关闭 Unix/Linux 服务器的正确方法是什么?
通过谷歌搜索,我(希望)了解到以下内容:
关闭:我应该使用这个,使用参数 -h 来停止,或者使用参数 -r 来重新启动
停:停止计算机(停止处理器?这是否从物理上关闭了计算机电源?)。我认为如果不是在 init0,这将调用关机,否则只是停止。
重启:如果不在 init6,则调用关机,否则仅重新启动计算机。
如果所有这一切都正确,那么我唯一不明白的是“halt”到底是做什么的。它只是停止处理器,而不是物理关闭计算机吗?我如何“关闭”计算机?
谢谢
答案1
shutdown -h now
将在大多数系统中关闭计算机,但这取决于实现。使用-P
poweroff 可以确保关闭,-H
使用 halt 可以确保关闭。这是我推荐的关闭系统的方法。它将运行所有正确的脚本。
halt
without-f
只会调用上面的 shutdown 和 will reboot
,它们基本上只是别名。
答案2
在 Linux 上,我一直使用reboot
和halt
,但我也知道有人觉得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
关机。halt
shutdown -h
答案3
我使用halt
——需要记住的参数较少。
有人开发了虚拟莫莉·加德确保不会意外停止错误的服务器。它曾多次拯救了我。它被打包在molly-guard
Ubuntu 上。
答案4
值得注意的是:
Solaris 需要“shutdown -y -i5 -g0”才能关机,或者“shutdown -y -i6 -g0”才能重启。Solaris 上的 Halt 或 Reboot 只应在开始关机前不给出警告或宽限期的情况下使用...如果您在关机前没有卸载磁盘系统,这可能会对磁盘系统造成严重破坏,您知道吗?
最好采用最适合您每天接触的操作系统的程序,这样您就不会在凌晨 2 点用手指不小心把某些东西搞砸。
例如,永远不要在 solaris 中输入“killall”,而这在 linux 中是一个相当常见的命令。不过,“pkill”在两者上的工作原理相同。