正常情况下,要关机时需要注意底下几件事:

  • 观察系统的使用状态:

    如果要看目前有谁在在线,可以下达『who』这个命令,而如果要看网络的联机状态,可以下达
    『 netstat -a 』这个命令,
  • 而要看背景运行的程序可以运行『
    ps -aux 』这个命令。使用这些命令可以让你稍微了解主机目前的使用状态!
  • 当然啰,就可以让你判断是否可以关机了
    (这些命令在后面Linux常用命令中会提及喔!)
  • 通知在线使用者关机的时刻:

    要关机前总得给在线的使用者一些时间来结束他们的工作,所以,这个时候你可以使用
    shutdown 的特别命令来达到此一功能。
  • 正确的关机命令使用:
    例如 shutdown 与 reboot 两个命令!

所以底下我们就来谈一谈几个与关机/重新启动相关的命令啰!

      • 将数据同步写入硬盘中的命令: sync
      • 惯用的关机命令: shutdown
      • 重新启动,关机: reboot, halt, poweroff

数据同步写入磁盘: sync

第零章、计算器概论里面我们谈到过数据在计算机中运行的模式,
所有的数据都得要被读入内存后才能够被CPU所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的动作)。
由于硬盘的速度太慢(相对于内存来说),如果常常让数据在内存与硬盘中来回写入/读出,系统的效能就不会太好。

因此在Linux系统中,为了加快数据的读取速度,所以在默认的情况中,
某些已经加载内存中的数据将不会直接被写回硬盘,而是先缓存在内存当中,如此一来,
如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来,
在速度上一定是快上相当多的!

不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机
(例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的升级不正常啦!
那要怎么办呢?这个时候就需要sync这个命令来进行数据的写入动作啦!
直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!所以,这个命令在系统关机或重新启动之前,
很重要喔!最好多运行几次!

虽然目前的 shutdown/reboot/halt 等等命令均已经在关机前进行了 sync 这个工具的呼叫,
不过,多做几次总是比较放心点~呵呵~

[root@www ~]# sync 

惯用的关机命令: shutdown

由于Linux的关机是那么重要的工作,因此除了你是在主机前面以tty7图形接口来登陆系统时, 不论用什么身份都能够关机之外,若你是使用远程管理工具(如透过pietty使用ssh服务来从其他计算机登陆主机), 那关机就只有root有权力而已喔!

嗯!那么就来关机试试看吧!我们较常使用的是shutdown这个命令,而这个命令会通知系统内的各个程序 (processes),并且将通知系统中的run-level内的一些服务来关闭。shutdown可以达成如下的工作:

  • 可以自由选择关机模式:是要关机、重新启动或进入单人操作模式均可;
  • 可以配置关机时间: 可以配置成现在立刻关机, 也可以配置某一个特定的时间才关机。
  • 可以自定义关机信息:在关机之前,可以将自己配置的信息传送给在线 user 。
  • 可以仅发出警告信息:有时有可能你要进行一些测试,而不想让其他的使用者干扰, 或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用 shutdown 来吓一吓使用者,但却不是真的要关机啦!
  • 可以选择是否要 fsck 检查文件系统 。

那么shutdown的语法是如何呢?聪明的读者大概已经开始找『男人』了!没错,随时随地的 man 一下,是很不错的举动!好了,简单的语法守则为:

[root@www ~]# /sbin/shutdown [-t 秒] [-arkhncfF] 时间 [警告信息]
选项与参数:
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
-k : 不要真的关机,只是发送警告信息出去!
-r : 在将系统的服务停掉之后就重新启动(常用)
-h : 将系统的服务停掉后,立即关机。 (常用)
-n : 不经过 init 程序,直接以 shutdown 的功能来关机
-f : 关机并启动之后,强制略过 fsck 的磁盘检查
-F : 系统重新启动之后,强制进行 fsck 的磁盘检查
-c : 取消已经在进行的 shutdown 命令内容。
时间 : 这是一定要加入的参数!指定系统关机的时间!时间的范例底下会说明。
范例:
[root@www ~]# /sbin/shutdown -h 10 'I will shutdown after 10 mins'
# 告诉大家,这部机器会在十分钟后关机!并且会显示在目前登陆者的屏幕前方!
# 至于参数有哪些呢?以下介绍几个吧!

此外,需要注意的是,时间参数请务必加入命令中,否则shutdown会自动跳到 run-level 1 (就是单人维护的登陆情况),这样就伤脑筋了!底下提供几个时间参数的例子吧:

[root@www ~]# shutdown -h now
立刻关机,其中 now 相当于时间为 0 的状态
[root@www ~]# shutdown -h 20:25
系统在今天的 20:25 分会关机,若在21:25才下达此命令,则隔天才关机
[root@www ~]# shutdown -h +10
系统再过十分钟后自动关机
[root@www ~]# shutdown -r now
系统立刻重新启动
[root@www ~]# shutdown -r +30 'The system will reboot'
再过三十分钟系统会重新启动,并显示后面的信息给所有在在线的使用者
[root@www ~]# shutdown -k now 'This system will reboot'
仅发出警告信件的参数!系统并不会关机啦!吓唬人!

重新启动,关机: reboot, halt, poweroff

还有三个命令可以进行重新启动与关机的任务,那就是reboot, halt, poweroff。
其实这三个命令呼叫的函式库都差不多,所以当你使用『man reboot』时,会同时出现三个命令的用法给你看呢。
其实鸟哥通常都只有记shutdown与reboot这两个命令啦!不过使用poweroff这个命令却比较简单就是了!^_^
通常鸟哥在重新启动时,都会下达如下的命令喔:

[root@www ~]# sync; sync; sync; reboot

既然这些命令都能够关机或重新启动,那他有没有什么差异啊?基本上,在默认的情况下, 这几个命令都会完成一样的工作!(因为halt会先呼叫shutdown,而shutdown最后会呼叫halt!)。 不过,shutdown可以依据目前已启动的服务来逐次关闭各服务后才关机;至于halt却能够在不理会目前系统状况下, 进行硬件关机的特殊功能!你可以在你的主机上面使用root进行底下两个命令来关机,比较看看差异在哪里喔!

[root@www ~]# shutdown -h now
[root@www ~]# poweroff -f

更多halt与poweroff的选项功能,请务必使用man去查询一下喔!


切换运行等级: init

本章上头有谈到过关于run level的问题。之前谈到的是系统运行的模式,分为纯文本(run level
3)及图形接口模式(run level 5)。除了这两种模式外,有没有其他模式呢?其实Linux共有七种运行等级,
七种等级的意义我们在后面会再谈到。本章你只要知道底下四种运行等级就好了:

  • run level 0:关机
  • run level 3:纯文本模式
  • run level 5:含有图形接口模式
  • run level 6:重新启动

那如何切换各模式呢?可以使用init这个命令来处理喔!也就是说,如果你想要关机的话,
除了上述的shutdown -h now以及poweroff之外,你也可以使用如下的命令来关机:

[root@www ~]# init 0 

来源:鸟哥的Linux私房菜

正确的关机方法: sync, shutdown, reboot, halt, poweroff, init的更多相关文章

  1. linux 正确的关机方法

    正确的关机方法 1. 查看系统的使用状态 执行who命令或者netstat -a ,要查看后台执行的程序可以执行“ps -aux” 2. 正确的关机命令 1)将内存中数据同步写入磁盘:sync,这个命 ...

  2. 【Linux】正确的关机方法

    1)shutdown命令 我们较常使用的是shutdown这个命令,这个命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息.该命令还允许用户指定一个时间参数 ...

  3. linux杂记(五)正确关机方法(shutdown,reboot,init,halt)

    前言:由于在linux底下,每个程序(或者说是服务)都是在背景下运行的,因此,在你看不到的屏幕背后其实可能有相当多人同时在你的主机上面工作,如果 你直接按下电源开关来关机,则可能导致其他人的数据就此中 ...

  4. Linux下关机命令的区别 (halt,poweroff,reboot,shutdown,init)

    1.shutdown shutdown命令安全地将系统关机.    而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭.并且login指令会被冻结﹐即新的用户不能再登录 ...

  5. Linux开关命令(shutdown,reboot,halt,init)

    命令简短 shutdown,poweroff,reboot,halt,init都能够进行关机,大致使用方法. /sbin/halt     [-n] [-w] [-d] [-f] [-i] [-p] ...

  6. Linux系列(3):入门之正确的关机方法

    前言:在Windows(非NT主机系统)系统中,由于是单人假多任务的情况,所以即使你计算机关机,对于别人也没有丝毫影响!不过,在Linux下面,由于每个程序(或者服务)都是在在背景下执行,因此,在看不 ...

  7. linux正确的关机方法

    [root@localhost ~]# sync #数据写入磁盘 [root@localhost ~]# shutdown -h 10 #通知用户再过10分钟就关机 [root@localhost ~ ...

  8. 关机相关(shutdown,reboot)

    慣用的關機指令: shutdown 由於Linux的關機是那麼重要的工作,因此除了你是在主機前面以tty7圖形介面來登入系統時, 不論用什麼身份都能夠關機之外,若你是使用遠端管理工具(如透過piett ...

  9. linux笔记:关机重启命令shutdown,系统运行级别init,退出登录logout

    命令名称:shutdown功能:关机或重启用法:shutdown [选项] [时间]选项参数:-c 取消前一个关机命令-h 关机-r 重启时间格式:now 现在时:分 20:30其他:会正常关闭正在启 ...

随机推荐

  1. Fedora 28 设置yum代理

    编辑  vi /etc/dnf/dnf.conf 文件 添加一行代理设置:proxy=http://****:****

  2. Android性能优化的方方面面

    通常项目比较大的APP都面临着如下性能问题,APP启动慢.界面跳转慢.事件相应慢.滑动和动画卡顿.展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化 ...

  3. Gradle在Android中的基本使用

    1.基本概念 程序开发作为一种工程作业,不光是编写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....).很多时候,我们反复的build,clean,签名,打包,发布,那 ...

  4. 微信小程序保存图片功能实现

    小程序保存图片功能实现 wxml: <view class="previewImage" style="display:{{previewImage}}" ...

  5. 04-hibernate注解-一对一双向外键关联

    一对一双向外键 1,主控方的配置同一对一单向外键关联. 2,@OneToOne(mappedBy="card") //被控方 @OneToOne(mappedBy="ca ...

  6. 15个极好的Linux find命令示例

    基于访问/修改/更改时间查找文件 你可以找到基于以下三个文件的时间属性的文件. 访问时间的文件.文件访问时,访问时间得到更新. 的文件的修改时间.文件内容修改时,修改时间得到更新. 更改文件的时间.更 ...

  7. Nginx-负载均衡实践(一、对PHP-FPM进行分摊)

    应用的服务器分为前端和后端 前端服务器: 负责对静态文件(比如JS.CSS.图片)等的响应, 以及把PHP请求分发到后端服务器 后端服务器: 处理前端服务器分发而来的PHP请求 前端服务器: 192. ...

  8. hibernate的配置, 增删改查

    路径:查找路径 实际上都是查找编译后的对应的路径,在bin文件夹中总 增删改必须开启事务才行 hibernate加载文件的两种方式 configure 1.引包 antlr-2.7.6.jar bac ...

  9. To Use Genymotion

    Chinese Site:http://www.genymotion.cn/ Offical Site:http://www.genymotion.com/  Not available in Chi ...

  10. 一个来自红帽的Java垃圾回收算法,试图把停顿时间降到10毫秒以下 原创 2017-01-10 薛命灯

    转自 微信聊聊架构 GC... 早在三年前,Red Hat就启动了Shenandoah项目.Shenandoah是一种新的Java虚拟机GC算法,目标是利用现代多核CPU的优势,减少大堆内存在GC方面 ...