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


11

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

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

shutdown:我应该使用它,并使用参数-h停止,或使用参数-r重启

停止:停止计算机(停止处理器?这实际上会关闭计算机的电源吗?)。我认为,如果不在init0处,它将调用shutdown,否则就暂停。

reboot:如果不在init6处,则调用shutdown,否则就重新引导计算机。

如果一切正确,那么我唯一不知道的就是“停止”的作用。它只是停止处理器而没有关闭计算机吗?如何“关闭”计算机电源?

谢谢

Answers:


13

shutdown -h now将关闭大多数系统的计算机,但这取决于实施。使用-P至关机肯定和-H制止肯定。这是我建议关闭系统的方法。它将运行所有适当的脚本。

halt没有它们-f只会调用上面的关闭命令,所以reboot它们基本上只是别名。


我现在非常喜欢/ sbin / shutdown -h(-r)。使用“停止”总是吓到我。
RateControl

1
Thoreau提出了另一个好处:您应该养成使用显式路径(例如/ sbin / shutdown)调用重要系统命令的习惯。如果您的系统曾经遭到破坏并且您不知道它,这可能会为您节省费用。
Ryan Fisher

1
秘诀:同意,要养成这种习惯。尽管他有一个很好的观点,但我不知道他是否将所有的时间都花在没有电的一间小屋中,所以我一般不会相信他对IT的建议。
凯尔·布​​兰特

如果它不改变您根深蒂固的路径中的可执行文件,那将是一个糟糕的妥协……
asjo

@Kyle Brandt,很好。
约瑟夫·科恩

3

在Linux上,我一直使用reboothalt,尽管我也认识一些感到halt恐惧的人。halt(8)有点告诉为什么:

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

sysvinit 2.74发布于1998年3月17日21:53。:)

关于如何关闭电源的问题,可以使用poweroffhalt -p。最近的Linux系统似乎掉电刚上haltshutdown -h也。


Solaris仍然在人群中,“暂停”会做一些可怕的事情。
卡特凯兹


1

我通常使用(当然是root用户):

 init 0

使系统进入关机状态。这将执行概要脚本。

 init 6

来关闭系统并自动重启。这还将执行概要脚本。


1
暂停还将运行带有“ stop”参数的所有初始化脚本。
hayalci

1
停止在什么系统上无法正常关闭?
09年

2
基于以上两个评论,我编辑了我的笔记以删除暂停评论。但是,我在FreeBSD 7.2上进行了验证,并且Solaris 10 5/2009 x86在这两个系统上执行了简单的halt命令将不会执行标准的中断顺序。然而,在CentOS 5.3,openSUSE的11.1,和Fedora 11 halt命令DOES接合标准纲要序列,其作用基本上像初始化为0。FYI ....
MDPC

0

值得一提的是:

Solaris需要“ shutdown -y -i5 -g0”关闭,或“ shutdown -y -i6 -g0”重新引导。只有在可以接受的情况下,在开始关闭设备之前不发出警告或宽限期时,才应使用Solaris上的“停止”或“重新引导”。 '知道?

最好采用最适合您每天触摸的操作系统的程序,以免在凌晨2点用手指将自动驾驶仪意外拧坏。

例如,切勿在solaris中键入“ killall”,而这在Linux中是相当常见的命令。不过,“ pkill”在两者上的作用相同。


0

要立即关闭它,请键入:

shutdown -h now 

并立即将其关闭并重新输入:

shutdown -r now

1
我觉得这是最好的答案,不确定为什么要投票。
罗勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.