前言:由于在linux底下,每个程序(或者说是服务)都是在背景下运行的,因此,在你看不到的屏幕背后其实可能有相当多人同时在你的主机上面工作,如果 你直接按下电源开关来关机,则可能导致其他人的数据就此中断。此外最大的问题是,若是不正常关机,由于来不及把数据回写到档案中,从而可能造成档案系统的 损毁。因此,正确的linux系统关机姿势是非常重要的。

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

  • 观察系统的使用状态:如果要看目前有谁在线,可以用who指令;如果要看网络的联机状态,可以用netstat -a这个指令;要看背景执行的程序可以用ps -aux这个指令。
  • 通知在线使用者关机的时刻:要关机前给在线的使用者一些时间来结束他们的工作,这个时候可以使用shutdown的特别指令来达到这一功能。
  • 正确的关机指令使用:例如shutdown与reboot。
  • 将数据同步写入硬盘中的指令:sync
  • 惯用的关机指令:shutdown
  • 重启,关机:reboot,halt,poweroff
  • 数据同步写入磁盘:sync

在linux系统中,为了加快数据的读取速度,所以,在预设的情况下,某些数据将不会直接被写入硬盘,而是先暂存在内存中。不过如此一来也就造成了万一当你重新开机,或者是关机,或者是不正常的断电的情况下,由于数据尚未被写入硬盘当中,而导致的数据更新不正常。这个时候就需要sync这个指令来进行数据的写入动作。直接在文字接口下输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中。(注:这个指令只有root可以执行)

  • 惯用的关机指令:shutdown

由于关机有种种的限制因子在,所以只有root有权力关机。我们较常用的是shutdown这个指令,这个指令会通知系统内的各个程序(processes),并且将通知系统中的run-level内的一些服务来关闭。

[root@linux ~]# shutdown [-t时间] [-arkhncfF] [时间] [警告信息]
参数:
-t sec :-t 后面加秒数,即【过几秒后关机】的意思
-k      :不是真的关机,只是发送警告信息出去
-r       :在将系统的服务停掉之后就重新开机
-h      :将系统的服务停掉后,立即关机
-n      :不经过init程序,直接以shutdown功能来关机
-f      :关机并开机之后,强制略过fsck的磁盘检查
-F     :系统重新开机之后,强制进行fsck的磁盘检查
-c     :取消已经在进行的shutdown指令内容 

此外,需要注意的是,时间参数请务必加入,否则会自动跳到run-level1(就是单人维护的登入情况)

[root@linux ~]# shutdown -h now
立刻关机
[root@linux ~]# shutdown -h :
系统在今天的20:25会关机
[root@linux ~]# shutdown -h +
系统再过十分钟后自动关机
[root@linux ~]# shutdown -r now
系统立刻重启
[root@linux ~]#shutdown -r + 'The system will reboot'
再过三十分钟系统会重启,并显示后面的讯息
[root@linux ~]# shutdown -k now 'This system will reboot'
仅发出警告信息
  • 重启,关机:reboot,halt,poweroff

这三个指令差不多,用途上有点不同而已。reboot与shutdown -r now几乎相同。不过建议在关机前还是用sync将数据回填的指令下达一次再说。

  • 开机过程的问题排解

扇区错乱的问题

  • 如果根目录没有损毁:假设发生错误的磁盘扇区块在/dev/hda7,那么在开机的时候屏幕应该会告诉你:press root pass word or ctrl+D: 这个时候请输入root的密码登入系统:
  1. 在光标处输入root密码登入系统,进行单人单机的维护工作;
  2. 输入fsck /dev/hda7 (fsck为指令,/dev/hda7为错误的磁盘区块,请根据情况下达参数),这时屏幕会显示开始修理硬盘的信息,如果发现有任何错误时,会显示clear[Y/N]?的询问信息,就直接输入Y。
  3. 修理完成,以reboot重新开机。
  • 如果根目录损毁:一般初学者喜欢将自己的硬盘只划分为一个大区块,即只有根目录。那硬盘区块错乱一定是根目录的问题。这时可以将硬盘拔掉,接到另一台linux系统的计算机上,并且不要挂载(mount)该硬盘,然后以root的身份执行fsck /dev/hdb1(/dev/hdb1指硬盘装置的名称,根据实际情况来设定)。
  • 如果整个硬盘坏掉:实在坏的离谱就换一颗,如果不愿意换硬盘,就重灌linux,并且在重灌的时候于format项目中,选取[error check]项目,如此一来format会很慢,并且何时会再坏掉也不确定。最好还是换一颗。

linux杂记(五)正确关机方法(shutdown,reboot,init,halt)的更多相关文章

  1. CentOS正确关机方法(转)

    CentOS正确关机方法 1关机前准备 1.1观察系统使用状态 ·         谁在线:who ·         联网状态:netstat -a ·         后台执行的程序:ps -au ...

  2. CentOS正确关机方法

    1关机前准备 1.1观察系统使用状态 ·         谁在线:who ·         联网状态:netstat -a ·         后台执行的程序:ps -aux 1.2通知在线使用者关 ...

  3. init shutdown reboot poweroff halt区别

    init 首先看看LINUX系统几种运行级别# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)# 1 - 单用户模式# 2 - 多用户,没有 NFS# 3 - 完全多用户 ...

  4. 关机相关(shutdown,reboot)

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

  5. linux mint 五笔安装方法

    终于可以使用五笔了,方法就是安装好ibus后要设置首选项,这样在首选项里设置就可以了.

  6. 正确的关机方法: sync, shutdown, reboot, halt, poweroff, init

    正常情况下,要关机时需要注意底下几件事: 观察系统的使用状态: 如果要看目前有谁在在线,可以下达『who』这个命令,而如果要看网络的联机状态,可以下达 『 netstat -a 』这个命令, 而要看背 ...

  7. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  8. 【2016-10-11】Linux系统常用的关机或重启命令shutdown、reboot、halt、poweroff、init 0及init 6的联系与区别

    Linux下常用的关机/重启命令一般包括: shutdown.reboot.halt.poweroff等,当然了我们可以使用init 运行等级runlevel 0即halt来关机,或使用init 运行 ...

  9. linux 正确的关机方法

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

随机推荐

  1. EditText 默认不获取焦点,弹出软键盘布局变形解决方案

    关于弹出软键盘布局变形解决方案: 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan&qu ...

  2. JS数组操作常用方法

    toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部的一个元素移出 un ...

  3. css3中动画animation的应用

    <!DOCTYPE html> <html> <head> <style> /* @-webkit-keyframes anim1 { // 规定动画. ...

  4. 【Howie玩docker】-使用mono编译c#程序

    根据前面的方法,在windows和Linux共享文件夹,然后就可以开发了! Start up an Ubuntu container $ docker run -it ubuntu bash Upda ...

  5. SQLSERVER 使用WITH函数查找时间点最大数据行

      --表结构及数据: DTIME TYPE MONEY 2015-10-14 13:50:35.000 shopping 20 2015-10-21 13:51:24.000 shopping 40 ...

  6. Android SQLiteDatabase使用总结

    SQLiteDatabase数据库操作 1.创建一个继承了类SQLiteOPenHelper类复写相应的方法,和构造函数 2.然后创建一个类,定义一个私有变量(上述类的实例化对象),在构造函数中进行初 ...

  7. SQL Server 全文索引

    create table Document(ID int not null,Name nvarchar(255) not null,Body nvarchar(max) not null);go cr ...

  8. oracle 高级分组

    oracle 高级分组 博客分类: 数据库基础 oraclesql  10.高级分组 本章目标: 对于增强的group by需要掌握: 1.使用rollup(也就是roll up累计的意思)操作产生s ...

  9. CDC不同模式在ODI体现系列之二 异步模式

    CDC不同模式在ODI体现系列之二 异步模式 2 异步模式需要在数据库中做一些准备工作: 改数据为归档并启用logminer: SQL> shutdown immediate 数据库已经关闭. ...

  10. [推荐] 查看网站使用的JS框架

    查看各大网站使用的JS框架: 打开:http://oskarkrawczyk.github.com/wtframework/ 在这个中间的图片页面上右击,Add BookMarks.(添加到书签中) ...