Linux关机和重启shutdown、reboot命令

曾经有一个很有意思的段子,说一个程序员在自己的简历上写到:"熟练掌握 Linux 的开关机和重启",开机操作任何系统都不难,硬件肯定要给予一个开机的按钮,至于 Linux 的关机和重启,在没有桌面环境的 Linux 下还真需要记住命令才能实现。当然,真正的 Linux 服务器环境,几乎可以做到全年不关机不重启,除非机房断电了,一般情况下,Linux服务器遇上问题,通过重启相关服务进程或执行相关命令回收资源就可以恢复运行,关机、重启对 Linux 操作系统来说是比较暴力的方式,不够优雅,我学习关机和重启命令只为在自己的Linux开发电脑上使用,真正的生产环境服务器,关机和重启操作有专门的运维工程师负责。

sync 命令

sync 命令用于及时将系统内存的数据写到磁盘,在执行关机和重启操作前,都建议手动先执行一次 sync 命令,主要原因在于,程序执行的时候,cpu的运算速度远超磁盘io的速度,因此很多数据是先缓存到内存,之后再写入磁盘,手动执行 sync 命令可以防止数据丢失。

命令路径: /bin/sync,所有用户都有执行 sync 命令的权限。

shutdown 命令

在 Linux 系统中, shutdown 命令既可以用来操作关机也可以用来操作重启,比较常用 shutdown 命令来执行关机操作,重启一般大家更喜欢用简单的 reboot 命令。

除了最基本的关机和重启功能,shutdown 命令还具备如下的功能:

  • 关机前,可以设置关机消息传送给在线的用户,防止多用户在线影响到其他用户;
  • 对在线的用户发送警告,并禁止其他用户登录,但是实际不是真的关机,只是为了避免多用户干扰;

命令概况

  • shutdown 命令的格式: shutdown [选项] [时间] [警告信息]

  • 命令路径:/sbin/shutdown ,这个命令需要 root 权限才能执行;

  • 常用的选项:

      -h 关机后不重新启动
      -r 关机后立即重新启动
      -k 并不真正关机而只是发出警告信息给所有用户
      -f 快速关机重启动时跳过fsck
      -n 快速关机不经过 init 程序
      -c 取消一个已经运行的shutdown

 示例

shutdown 缺省选项,默认会等待一分钟后关机,并且向在线用户广播警告信息,如下所示:

[root@localhost ~]# shutdown
# 提示将在一分钟后的这个时间执行关机,可以使用shutdown -c取消
Shutdown scheduled for Fri 2019-09-06 14:29:38 CST, use 'shutdown -c' to cancel.
 
#另外一个在线用户将可以接受到广播消息
[calmsnow@localhost ~]$
# 来自root的广播消息,系统将在一分钟后关闭
Broadcast message from root@localhost.localdomain (Fri 2019-09-06 14:28:38 CST):
 
The system is going down for power-off at Fri 2019-09-06 14:29:38 CST!

shutdown -h 3 3分钟后关机,并且向在线用户广播警告信息。-h 后写整数,代表过多少分钟后关机,如下所示:

[root@localhost ~]# shutdown -h 3
Shutdown scheduled for Fri 2019-09-06 14:41:24 CST, use 'shutdown -c' to cancel.
 
#另外一个在线用户将可以接受到广播消息
[calmsnow@localhost ~]$
Broadcast message from root@localhost.localdomain (Fri 2019-09-06 14:38:24 CST):
 
The system is going down for power-off at Fri 2019-09-06 14:41:24 CST!

 shutdown -h now 立即关机,不会有任何的广播消息;

halt 和 poweroff 命令也可以实现 shutdown -h now 类似的立即关机效果,但是有说法称 halt 和 poweroff 命令都是不太安全的(所谓不安全就是不能正确的在关闭系统进程的时候将数据保存),因此关机常用的是 shutdown -h now

shutdown -r 默认会等待一分钟后重启,并且向在线用户广播警告信息,如下所示:

[root@localhost ~]# shutdown -r
Shutdown scheduled for Fri 2019-09-06 14:53:26 CST, use 'shutdown -c' to cancel.
 
#另外一个在线用户将可以接受到广播消息
[calmsnow@localhost ~]$
Broadcast message from root@localhost.localdomain (Fri 2019-09-06 14:52:26 CST):
 
The system is going down for reboot at Fri 2019-09-06 14:53:26 CST!

 shutdown -r 3 3分钟后重启,并且向在线用户广播警告信息。-r 后写整数,代表过多少分钟后重启:

[root@localhost ~]# shutdown -r 3
Shutdown scheduled for Fri 2019-09-06 15:00:15 CST, use 'shutdown -c' to cancel.
 
#另外一个在线用户将可以接受到广播消息
[calmsnow@localhost ~]$
Broadcast message from root@localhost.localdomain (Fri 2019-09-06 14:57:15 CST):
 
The system is going down for reboot at Fri 2019-09-06 15:00:15 CST!

 shutdown -r now 立即重启,不会有任何的广播消息;

重启一般大家更喜欢用简单的 reboot 命令,可以认为 reboot 命令几乎是等价于 shutdown -r now,都是安全的命令

reboot 命令

reboot 命令可以认为几乎是等价于 shutdown -r now,用于重启 Linux 系统,且也是安全的命令。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值