Linux 关机方法

1.概述

linux系统是多用户可以同时在一台机器上做各自的事情的,因此不能像windows那样长按电源强制关机的。这样可能会导致别的用户正在执行任务中断。最大的问题是可能造成文件系统的损坏,关机时可能导致某些文件数据来不及回写到文件中,从而导致某些服务的文件会有问题。因此正常关机应该注意一下几个问题

2.关机检查

  1. 观察系统使用状态
    a. 如果要查看当前谁在线,可以使用[who]指令
    b. 如果要查看网络的联机状态,可以使用[netstat -a]指令
    c. 要查看后台执行的程序,可以使用[ps -aux]指令
  2. 通知在线使用者关机的时刻
    可以使用shutdown的特别指令在下达这一功能
  3. 使用正确的关机指令
    如shutdown和reboot

3 关机/重启相关指令

  1. sync ----> 将数据同步写入到磁盘中
  2. shutdown ----> 惯用的关机指令
  3. reboot、halt、poweroff ----> 重新启动、关机

3.1 sync

正常情况下文件系统是三层结构,应用程序---->内存---->硬盘。所有的数据都存在硬盘上,当应用程序启动后,在程序运行过程中会需要很多的数据,这时候它不会直接从硬盘去拿而是在内存中去获取,毕竟硬盘的读写速率是很慢的(相对于内存)。若内存中没有,这时候才会去硬盘中读取,读取的数据会在内存中进行缓存,下次在需要这个数据时会直接从内存中获取,同理修改数据时也是直接写入到内存的,并没有直接存到本地硬盘中。

那么这时候就有一个问题了,如果这时候主机非正常关机了(断电、脚踢掉电源了),由于数据未被写入硬盘当中,这时候就回到成数据更新不正常。

这时候就需要用到sync指令来进行数据的写入操作了。它会将内存中所有的未被更新的数据都写入到硬盘中。因此这个命令很重要,最好在关机或重启之前多执行几次。

当然,目前的shutdown、reboot、halt等命令均在关机前执行了sync操作,但多执行几次总是要放心些啊,就像Ctrl+S一样,按一次总不放心,要多按几次啊。

一般的我们执行这个指令时会写换到root用户,因为虽然一般用户也可以使用,但只会将当前用户的数据写入硬盘,其他用户的数据并不会处理,所以我们需要切换到root用户,切换root用户使用指令:su - 输入密码后即可切换到root用户

3.2 shutdown

shutdown指令使用规则:shutdown [-krhc] [时间] [警告信息]

使用shutdown可以用来关闭Linux系统,然这个指令只有root用于才可以使用,也就是说只有root用户可以关闭Linux系统(在实体机终端登录的用户除外)。
使用shutdown关闭Linux系统时可以根据参数的不同达到不同的效果

  1. -k 吓唬用户,不会真的关机,只是发送给所有在线用户警告信息而已。
  2. -r 再将系统的服务停止之后就会重启系统,这命令很常用。
  3. -h 将系统的服务停止后,立即关机,也很常用
  4. -c 取消正在执行的shutdown指令内容
  5. 时间 用于设定关机或重启的时间,若不设置,则默认为1分钟

例如:

  1. shutdown -h now
    立刻关机,now先当与关机时间设置为0
  2. shutdown -h 20:15
    在今天20:15关机
  3. shutdown -h 10/shutdown -h +10
    十分钟后关机
  4. shutdown -r now
    立刻重启
  5. shutdown -r 10 ‘系统建在十分钟后重启’
    十分钟后重启系统,并告诉所有在线用户’系统将在十分钟后重启’
  6. shutdown -r 10 ‘系统建在十分钟后重启’
    发送信息,但不会整的重启
  7. shutdown -c
    取消正在执行的shutdown指令

3.3 reboot、halt、poweroff

reboot、halt、poweroff这三个指令都可以达到关机的效果,其本质上都是去调用systemctl这个指令。
reboot指令的作用是重启系统
poweroff指令的作用是关机
halt的作用是停止系统,会在屏幕上保留一些信息,类似于深度睡眠

systemctl [指令]
关于关机的指令有四个(有关于systemctl指令的内容比较复杂,这里只介绍关于关机的指令),分别是reboot、halt、poweroff、suspend。就和你想的一样,reboot实际上就是呼叫的systemctl reboot,包括shutdown指令都是呼叫的systemctl。suspend指令和halt类似,它是是系统进入休眠模式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值