Linux下经常使用的关机/重启命令通常包括:linux
shutdown、reboot、halt、poweroff等,固然了咱们可使用init 运行等级runlevel 0即halt来关机,或使用init 运行等级runlevel 6即reboot来执行重启。ubuntu
固然了这些关机或重启的方式也有一些细微差异。spa
首先明确一下linux/redhat系的runlevel运行级别和debian系的runlevel是有所不一样的。命令行
redhat系的runlevel定义以下:进程
runlevel 0: halt 系统停机状态,系统默认运行级别不能设为0,不然不能正常启动it
runlevel 1: single user 单用户工做状态,root权限,用于系统维护,禁止远程登录class
runlevel 2: multiuser without network 多用户状态(没有NFS)network
runlevel3: multiuser 彻底的多用户状态(有NFS),登录后进入控制台命令行模式权限
runlevel4: unuse 系统未使用,保留debian
runlevel5: x11 X11控制台,登录后进入图形GUI模式
runlevel6: reboot 系统正常关闭并重启,默认运行级别不能设为6,不然不能正常启动
在debian/ubuntu中,runlevel的定义为:
0 - Halt
1 - Single
2 - Full multi-user with display manager (GUI)
3 - Full multi-user with display manager (GUI)
4 - Full multi-user with display manager (GUI)
5 - Full multi-user with display manager (GUI)
6 - Reboot
能够发现2~5级是没有任何区别的。
Ubuntu系统默认的运行级别为2。
所以,咱们可使用init 0来执行halt关机,使用init 6来执行reboot。
其实shutdown命令也是在执行完一系列操做后,好比说逐个关闭进程/服务,调用sync将数据写入磁盘等,而后调用init0或init6来执行关机或重启的。
而halt其实是调用shutdown -h now,能够不理会系统当前状态而直接关机,但在有的系统中,halt不会关闭电源,而只关闭了os。
下面咱们对这些命令的使用方法略作总结。