Linux中正确的关机方法

为什么Linux中关机很重要

  • 异步的磁盘/内存数据传输模式
  • 多人多任务的环境

在Linux中,每个程序都是在后台执行的,因此,在看不到的屏幕背后其实很多人同时在主机上工作,如果此时关机,其他人的数据可能就此中断。

另外在计算机中,所有的数据都要被读入内存后,才能被CPU处理。在Linux系统中,为了加快数据读取速度,在默认的情况下,某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存中。如果此时关机,数据没有被写会硬盘,就会造成数据的更新不正常。

关机前需要做的事

查看系统的使用状态

  • who:目前谁在线(who命令讲解)
  • netstat -a:网络联机状态(netstat命令讲解)
  • ps -aux:后台执行的程序(ps命令讲解)

通知在线用户关机的时刻

  • shutdown -k now ‘This system will reboot’(shutdown命令稍后介绍)

将数据同步写入硬盘

  • sync

关机、重启命令

shutdown

shutdown [-t sec] [-arkhcfF] time(min) [warning message]

参数:

  • -t sec:-t 后面加秒数,几秒后关机
  • -k:只是发送警告消息
  • -r:将系统服务停掉后就重启
  • -h:将系统服务停掉后就关机
  • -n:不经过init程序,直接以shutdown功能关机
  • -f:关机并开机后,强制略过fsck磁盘检查
  • -F:系统重启之后,强制进行fsck磁盘检查
  • -c:取消已经在进行的shutdown命令内容

example:

  • shutdown -h 10 ‘I will shutdown after 10 mins’
    十分钟后关机
  • shutdown -h now
    立刻关机
  • shutdown -h 20:25
    系统在20:25关机
  • shutdown -r now
    立刻重启
  • shutdown -k now ‘This system will reboot’
    仅发出警告信件的参数,系统并不会关机

reboot

reboot [-nwdfi]

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

参考文献

  • 《鸟哥的Linux私房菜》

你可能感兴趣的:(linux)