Linux系统的关机与重启相关命令总结

10/21/2015来源:网络管理人气:1033

  1、 sync

  sync:flush file system buffers。

  sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘。

  执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,这时如果关机或重启电脑,暂存在内存中的数据将可能丢失,正确的做法是先执行sync命令,多执行几次也无妨,以保证数据写入硬盘,事实上一些关机命令默认也执行了sync操作。

  2、 shutdown

  shutdown命令用于安全关闭linux系统。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。

  执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。

  shutdown:bring the system down。

  语法格式如下:

  代码如下:

  shutdown [OPTIONS]… TIME [MESSAGE]

  几个参数——

  -k:不是真的关机,而是发送警告信息,此时不再允许登录。

  -c:取消已经在进行的shutdown指令,此时TIME参数不必选择,MESSAGE为第一个参数,这个参数可选。

  -r:将系统服务停掉之后reboot。

  -h:将系统服务停掉之后halt或者powweroff。

  -H:将系统服务关掉之后halt。

  -P:将系统服务关掉之后poweroff。

  注意:shutdown命令的TIME是必选参数,有多种格式,now表示立刻执行等同于参数为0的情况,形如20:20表示命令执行的具体时间,形如20表示20分钟后执行命令。

  shutdown命令的工作实质是给init程序发送信号(signal),要求其切换系统的运行级别(Runlevel)。系统的运行级别包括:

  0:关闭系统

  1:单用户模式,如果没有为shutdown命令指定-h或-r参数而直接执行,则默认将切换到此运行级别

  2:多用户模式(不支持NFS)

  3:多用户模式(支持NFS),一般常用此种运行级别

  5:多用户模式(GUI模式)

  6:重新启动系统

  3、 reboot、halt、poweroff

  语法格式如下:

  reboot [OPTIONS]… [REBOOTCOMMAND]

  halt [OPTIONS]…

  poweroff [OPTIONS]…

  几个参数——

  -f:同上面的描述,不会调用shutdown(8)。

  -p:指定为halt命令,效果同poweroff一样。

  -w:不调用shutdown(8)和reboot(2),只是把shutdown时间记录写入/var/log/wtmp中。

  –verbose:输出详细的命令执行信息。

  reboot(8)、halt(8)、poweroff(8):reboot or stop the system,这三个命令类似,查找man时,它们在同一个page8。当执行命令时使用了参数“-f”或者处于0~6的runlevel时,将会激活系统调用reboot(2) (REBOOTCOMMAND参数会传过去)并直接重启系统,否则调用的是shutdown(8),此时REBOOTCOMMAND参数不会传过去。在调用reboot(2)之前,shutdown时间记录会首先写入/var/log/wtmp中。

  halt 关机命令

  halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。

  halt命令的部分参数如下:

  [-f] 没有调用shutdown而强制关机或重启

  [-i] 关机或重新启动之前,关掉所有的网络接口

  [-p] 关机时调用poweroff,此选项为缺省选项

  reboot linux重启命令

  reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。

  poweroff

  部分泛UNIX/LINUX系统才支持,红旗LINUX亦适用。

  4、 init

  init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动。

  Linux的执行等级共有七种,即run level从0到6,其中run level 0表示关机,run level 6表示重启,切换run level的命令是init,如下:

  代码如下:

  $ init 0

  $ init 6

  init 0可以关机,init 6可以重启。