Linux学习笔记-关机重启命令
1.13.关机重启命令
对于使用systemd 的系统来说是没有区别的,因为halt、poweroff、reboot、 telinit、shutdown 都是以符号链接到/bin/systemctl 的。
例如:
[root@localhost ~]# ll /usr/sbin/poweroff
lrwxrwxrwx. 1 root root 16 Apr 22 16:00 /usr/sbin/poweroff -> ../bin/systemctl
1.13.1.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 [选项] 时间
-c 取消前一个关机命令
-h 关机
-r 重启
马上关机
shutdown –h now
马上重启
shutdown –r now
8点关机
shutdown –h 20:00
取消关机
shutdown -c
1.13.2.halt 关机
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
这个命令不太靠谱,容易对系统造成伤害。
刚才试了一下,我的虚拟机,关机关不了,连接连不上。最后将虚拟机强制关机了,以重启,才能连接上。
慎用该命令。
1.13.3.poweroff 关机
直接断电,可能会有数据丢失。
halt 和 poweroff相当于直接关掉电脑电源一样(不推荐)
1.13.4.init 0 关机
系统运行级别
0 关机
1 单用户 类似于Windows安全模式,命令行界面
2 不完全多用户,不含NFS服务,命令行界面,NFS可能存安全隐患。
3 完全多用户
4 未分配
5 图形界面,和Windows一样,非命令行
6 重启
可以在系统中查看runlevel
在redhat7中貌似使用了
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
[root@localhost ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
[root@localhost ~]#
查看当前的运行级别
N表示上一次运行级别。
[root@localhost system]# runlevel
N 3
[root@localhost system]#
1.13.5.reboot
reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。
这样来看,reboot也不是很靠谱。
1.13.6.init 6 重启
1.13.7.logout
退出登录命令
锁屏,避免服务器被别人非法操作。