AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 620595
Accepted
User
User
Asked: 2014-08-15 17:48:44 +0800 CST2014-08-15 17:48:44 +0800 CST 2014-08-15 17:48:44 +0800 CST

优雅重启 CentOS 的最佳方法?

  • 772

我总是使用命令:

shutdown -r now

但是,有时这会导致 MySQL 问题。

重启 CentOS 最优雅的方式是什么?

我见过:

reboot

和

halt

如何轻轻重启机器?

centos
  • 5 5 个回答
  • 535484 Views

5 个回答

  • Voted
  1. Best Answer
    Joffrey
    2014-08-24T13:27:16+08:002014-08-24T13:27:16+08:00

    使用 systemd (CentOS >=7) 的系统会有reboot,shutdown和符号链接的halt命令systemctl来处理重启。systemctl 程序将检测符号链接的使用并使用相应的参数运行 systemctl 命令。有关命令之间的区别,请参见 systemctl ( man systemctl) 的手册页,因为它的文档非常详细。

    对于 CentOS 6,除了原始问题中所述的任何命令之外,没有更好的方法来重新启动服务器:

    • 关机是停止系统的最常用方法。添加参数-r和特定时间(或“ now”)将重新启动您的系统,而不是在关机序列后暂停它。
    • reboot是一个包装器循环关闭,它执行一些硬盘维护(同步和/或进入待机模式,并不真正相关)。
    • 如果不在运行级别 0 或 6 中,reboot将启动 (>2.74)的新版本。shutdown
    • 大多数初始化脚本都会调用halt来登录utmp。

    无论您使用什么命令,现代发行版都将涵盖所有任务。基本上,它们都会启动您的SysV (CentOS <7) 或systemd (CentOS >=7) 脚本的关闭运行时(为了便于阅读,我将它们称为 init 脚本)。

    使用 init 脚本逐步关闭通常在运行级别“S”下注册的所有服务。个别初始化脚本可以有超时,就像 CentOS 中的 MySQL 初始化脚本一样。当给定 stop 参数并且守护程序不会在相当长的时间内关闭时,脚本将停止并退出并给出失败。关闭过程将继续进行,就好像没有任何问题一样,只需要更长的时间并且可能会打印一个警告。最后,当所有的 init 脚本都被执行时,不可避免的事情会发生:所有仍在运行的进程都会收到一个SIGTERM 信号,并且在几秒钟(2 或 5 秒)后,一个SIGKILL. 这将在完成ACPI调用以真正重新启动或关闭系统之前清理其余部分。

    一个例外是使用reboot带有-f选项的命令,这将跳过执行初始化脚本并直接重新启动系统。

    您最好解决您担心的根本原因:MySQL 没有正确关闭。

    这通常是由于在安全退出守护程序之前需要完成大量工作。我曾经有一个 MySQL 实例,其中包含 +300.000 个表,需要一个多小时才能退出。使用大缓冲区和稀疏 I/O 可用性的系统也会发现类似问题。

    • 115
  2. GeckoSEO
    2014-09-05T13:26:38+08:002014-09-05T13:26:38+08:00

    Centos 6.x 的正常关闭应该通过以 root 身份使用命令来完成:

    shutdown -h now
    

    这将尝试在正常关闭服务器之前停止所有正在运行的服务。

    使用此命令还可以防止 mySQL 套接字问题。

    同样,对于正常重启:

    reboot -h now
    

    您可以在此处阅读有关类似问题的先前答案:

    https://stackoverflow.com/questions/20407292/centos-another-mysql-daemon-already-running-with-the-same-unix-socket

    • 42
  3. Itai Ganot
    2016-08-27T06:35:24+08:002016-08-27T06:35:24+08:00

    我使用命令 'init 6' 。

    init 6 告诉 init 进程关闭所有在 init 文件中写入的衍生进程/守护进程(以它们启动的相反顺序),最后调用 shutdown -r now 命令重新启动机器。

    可以在这个问题上找到更多信息。

    • 4
  4. ewwhite
    2014-08-15T18:04:57+08:002014-08-15T18:04:57+08:00

    在向最终用户和客户发出远程指令时,我指示他们使用poweroff来关闭和关闭系统电源。

    如果他们想要热重启,我建议他们使用该reboot命令。

    我想有人可以说发行Ctrl-Alt-Delete也实现了这一点;)

    • 2
  5. Richard T
    2015-04-16T16:31:41+08:002015-04-16T16:31:41+08:00

    我有一种感觉,您可能不喜欢这个答案,但这个答案包含一些其他人都没有考虑过的见解。. . 你写:

    我总是使用命令:

    立即关闭 -r

    但是,有时这会导致 MySQL 问题。

    这里的问题不是您的关机方法,而是无法正确处理关机的软件;mysql。

    真正解决这个问题的唯一方法是替换 MySql(PostgreSql 是一个很好的替代品)或编写自己的关闭脚本,首先像婴儿一样呵护 MySql,当它很高兴被关闭时,然后关闭系统。

    ... 作为一个专注于数据库系统超过 26 年的人,我可以告诉你,直到最近,MySql 才开始在数据库系统最重要方面的能力方面采取行动for - 数据安全/完整性。以前,他们较少关注这些方面,而更多地关注性能。但是,如果您丢失数据,那么出色的性能又有什么用呢?在某些应用程序上,例如 Netflix 流式视频录制在您观看的时间点上,绝对保真度可能不是特别重要 - 甚至可能,您的客户喜欢在失败后备份的视频。但在银行系统中,这是一场史诗般的灾难。只有数据所有者才能知道什么是适合他们的。

    • 2

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve