Linux关机命令详解

  在Linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。

  1、shutdown

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

  而在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。这是由所有进程(process)都会收到系统所送达的信号(signal)决定的。这让像vi之类的程序有时间储存目前正在编辑的文档,而像处理邮件(mail)和新闻(news)的程序则可以正常地离开等等。

  shutdown执行它的工作是送信号(signal)给init程序,要求它改变runlevel。

  runlevel 0被用来停机(halt),runlevel 6是用来重新激活(reboot)系统,而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的,假定没有-h也没有-r参数给shutdown。要想了解在停机(halt)或者重新开机(reboot)过程中做了哪些动作,你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

  shutdown 参数说明:

  [-t] 在改变到其它runlevel之前,告诉init多久以后关机。

  [-r] 重启计算器。

  [-k] 并不真正关机,只是送警告信号给每位登录者(login)。

  [-h] 关机后关闭电源(halt)。

  [-n] 不用init,而是自己来关机。不鼓励使用这个选项,而且该选项所产生的后果往往不总是你所预期得到的。

  [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。

  [-f] 在重启计算器(reboot)时忽略fsck。

  [-F] 在重启计算器(reboot)时强迫fsck。

  [-time] 设定关机(shutdown)前的时间。

继续阅读