我一直使用命令:
shutdown -r now
Run Code Online (Sandbox Code Playgroud)
但是,有时这会导致 MySQL 问题。
重启 CentOS 最优雅的方式是什么?
我见过:
reboot
Run Code Online (Sandbox Code Playgroud)
和
halt
Run Code Online (Sandbox Code Playgroud)
如何轻轻重启机器?
Jof*_*rey 112
除了使用这些命令之外,没有更好的方法来重新启动服务器。
-r和特定时间(或 'now ”)将重新启动系统,而不是在关闭序列后停止它。reboot将启动 (>2.74) 的新版本shutdown。无论您使用什么命令,现代发行版都将涵盖所有任务。基本上,它们都会启动SysV (CentOS <7) 或systemd (CentOS >=7) 脚本的关闭运行时(为了便于阅读,我将它们称为 init 脚本)。
使用 init 脚本逐步关闭,停止在通常运行级别“S”下注册的所有服务。个别的 init 脚本可以有一个超时,就像 CentOS 中的 MySQL init 脚本。当给出 stop 参数并且守护进程不会在相当长的时间内关闭时,脚本将停止并退出并给出失败。关机过程将继续,好像没有任何问题,只是需要更长的时间,并且可能会打印警告。最后,当所有 init 脚本被执行时,不可避免的会发生:所有仍在运行的进程都会收到一个SIGTERM 信号,几秒钟(2 或 5 秒)后,一个SIGKILL. 这将在执行ACPI调用以真正重新启动或关闭系统之前清理其余部分。
一个例外是使用reboot带有-f选项的命令,这将跳过执行 init 脚本并直接重新启动系统。
你最好解决你担心的根本原因:MySQL 没有正确关闭。
这通常是由于在守护进程可以安全退出之前需要完成大量工作。我曾经有一个包含 +300.000 个表的 MySQL 实例,需要一个多小时才能退出。使用巨大缓冲区和稀疏 I/O 可用性的系统也存在类似问题。
小智 42
Centos 6.x 的正常关闭应该以 root 身份使用以下命令完成:
shutdown -h now
Run Code Online (Sandbox Code Playgroud)
这将尝试在正常关闭服务器之前停止所有正在运行的服务。
使用此命令还可以防止 mySQL 套接字问题。
同样,对于正常重启:
reboot -h now
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关类似问题的先前答案:
| 归档时间: |
|
| 查看次数: |
522285 次 |
| 最近记录: |