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 (builder@kbuilder.dev.centos.org) (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

退出登录命令

锁屏,避免服务器被别人非法操作。

相关推荐