Linux关机指令解析

来源:互联网 发布:mdac数据库访问控件 编辑:程序博客网 时间:2024/05/18 12:38

Linux作为一款强大的多用户多任务操作系统,其纯文本模式有着非常高的可玩性,同时也只有纯文本模式才能最大限度地发挥Linux的性能。本篇文章就Linux的关机命令做一个简单的分析,算是本人作为Linux小白的阶段性学习总结。

一、关机前的准备

Linux为了加快系统的读取速度,一般情况下某些已经加载到内存的中的数据并不会立即保存至硬盘中。当你运行某些程序并对数据进行频繁的改写时,这些改写操作都是在内存中进行的。这样一来,当你想要执行关机操作之前必须先将内存中的数据保存至硬盘中。执行这项操作的指令被称为同步(sync),在关机之前无论如何请执行sync指令。该指令的执行很简单,方法如下:

[当前帐号名@主机名]$ sync


二、关机命令

    一般情况下,文本模式中只有root用户才有权利执行关机操作,所以在执行关机操作之前请切换到root用户。Linux的关机命令主要有shutdown、reboot、halt以及poweroff。

1. shutdown

shutdown指令是一个基本的关机指令,也是最保险最稳妥的一种关机指令。这个指令会通知系统内所有进程,并且通知系统run-level内的服务进行关闭操作。

shutdown选项如下:

  • -t: 后面加秒数,意思是通知系统多少秒之后关机
  • -k:不关机,只是发送告警信息
  • -h:将系统服务关闭后切断电源
  • -r:系统服务关闭后重新启动
  • -n:不通知init而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的
  • -f:关机,并在开机之后强制跳过fsck磁盘检查
  • -F:关机,并在开机之后强制进行fsck磁盘检查
  • -c:取消正在执行的shutdown指令

一些例子:

[root@主机名]# shutdown -h +5        %5分钟后关闭系统服务并切断电源%

[root@主机名]# shutdown -k now 'The system will reboot in 10 min.'        %发送通知,系统将在10分钟后重启%

[root@主机名]# shotdown -r 21:10        %系统将在21点10分重新启动%

2.halt

halt指令实际上就是执行shutdown -h指令。执行时﹐halt首先杀死应用进程并执行sync﹐以上操作完成后就会停止内核。

halt选项如下:

  • -n: 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的superblock覆盖修补过的superblock
  • -w:并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕记录
  • -d: 不写wtmp纪录,已包含在选项-n中
  • -f: 没有调用shutdown而强制关机或重启
  • -i:关机或重启前关掉所有的网络接口
  • -p:该选项为缺省选项,即关机时调用poweroff

3.reboot

reboot指令有点类似于执行 shutdown -r now,但是也有些不同。执行reboot指令时是删除所有的进程,而执行shutdown -r now是平稳地终止它们。因此使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用reboot命令的场合主要是在单用户模式,并不推荐使用该指令进行重启操作。

4.poweroff

poweroff基本和halt一致不过也有一些小不同在没有acpi的系统上halt只是关闭了os但电源还在工作,你得手动取按一下那个按钮,而poweroff会发送一个关闭电源的信号给acpi。

三、小结总结

总结下来,关机或者重启操作还是使用shutdown指令最为稳妥。以上就是我翻阅鸟哥的Linux私房菜以及网上各路大神资料总结出来的各类关机指令,作为正在学习Linux的小白,多了解一下各类指令也是挺好的。刚刚开通博客,就以此文纪念一下吧:)

原创粉丝点击