手记

关闭和重启Linux系统

关闭和重启Linux系统

在Linux系统下,常用的关闭/重启系统的命令有shutdown hatl rebootsystemctl

为什么Linux中关机很重要

  • 异步的磁盘/内存数据传输模式
  • 多人多任务的环境
    在Linux中,每个程序都是在后台执行的,因此,在看不到的屏幕背后其实很多人同时在主机上工作,如果此时关机,其他人的数据可能就此中断。

另外在计算机中,所有的数据都要被读入内存后,才能被CPU处理。在Linux系统中,为了加快数据读取速度,在默认的情况下,某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存中。如果此时关机,数据没有被写会硬盘,就会造成数据的更新不正常

关机前需要做的事

查看系统的使用状态

who:目前谁在线(who命令讲解)
netstat -a:网络联机状态(netstat命令讲解)
ps -aux:后台执行的程序(ps命令讲解)

通知在线用户关机的时刻

[root@localhost ~]# shutdown -k now 'This system will reboot'

将数据同步写入硬盘

[root@localhost ~]# sync

暴力关闭

拔掉Linux服务器电源或按下服务器电源开关关机计算机属于暴力关闭Linux的方式,由于Linux系统后台运行着很多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏计算机硬件设备,我们应该避免采用这种方式。

shutdonw命令

shutdown命令可以安全地关闭或重启Linux系统,但只有root管理员能够执行

  • 可以自由选择关机模式:关机、重启或进入单人操作模式
  • 可以设定关机时间:可以设定成现在立即关机,也可以是某一特定时间才关机
  • 可以自定义关机讯息:在关机前,可以将自己设定的讯息传给在先的user
  • 可以仅发出警告信息:有时要进行一些测试,而不想其他使用者干扰,或者是明白告诉使用者某段时间要注意一下,这个时候可以使用shutdow来吓一下使用者却不关机
  • 可以选择是否要fsck检查系统

语法

shutdown [选项] [时间] [警告信息]

shutdown命令中选项的含义

  • -k:并不执行shutdown,只是发出警告信息给所有用户
  • -r:重新启动系统
  • -h:关闭系统
  • -c:取消运行shutdown
  • -f:关机之后强制略过fsck的磁盘检查
  • -F:系统重启后强制fsck磁盘检查
  • -t sec : 通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后 时(sec)秒数后再发送关闭 (kill) 信号
  • -n : 不经过init程序,直接shutdown来关机

fsck是Linux的一个检查和修复文件系统的程序

###实例

立即关闭Linux计算机系统

[root@localhost ~]# shutdown -h now

立即关闭Linux计算机系统,并发出警告信息

[root@localhost ~]# shutdown -h now "system will be down now"

定时60分钟之后关闭计算机系统

shutdonw命令还允许用户指定一个时间参数,改参数可以是一个精确的时间,也可以是从现在开始的一个时间端。精确时间的格式是hh:mm,标识小时和分钟,时间段由+和分钟数表示

[root@localhost ~]# shutdown -h now +60

定时在2点30分重新启动计算机系统

shutdonw命令还允许用户指定一个时间参数,改参数可以是一个精确的时间,也可以是从现在开始的一个时间端。精确时间的格式是hh:mm,标识小时和分钟,时间段由+和分钟数表示

[root@localhost ~]# shutdown -r 02:30

立即重新启动计算机系统

[root@localhost ~]# shutdown -r now 

立即重新启动计算机系统,并发出警告信息

[root@localhost ~]# shutdown -r now "system will be reboot now"

仅发出警告而不关机

[root@localhost ~]# shutdown -k now "warning"

取消准备执行的关机动作

[root@localhost ~]# shutdown -c   #取消准备执行的关机动作

halt命令关闭电脑

hatl指令在执行时,会首先检测系统的运行级别,如果运行级别为0或6,则立即关闭系统,否则调用shutdown来关闭系统
halt执行时,终止所有应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核

语法

halt [选项]

-i:关机之前,关闭所有的网络接口
-n:halt执行时,不调用系统指令sync
-w:并不是真正的关闭系统,只是写入到/var/log/wtmp文件中
-d:关闭系统,不把记录写到/var/log/wtmp日志文件中
-f:不管当前系统处于何种运行级别都不调用shutdown而强制关闭系统

使用halt命令关闭linux系统

[root@localhost ~]# halt

reboot命令重启电脑

reboot的工作过程与halt相似,不过reboot是引发计算机重启,而halt是引发计算机关闭

语法

reboot [选项]

-i:关机之前,关闭所有的网络接口
-n:reboot执行时,不调用系统指令sync
-w:并不是真正的重启系统,只是写入到/var/log/wtmp文件中
-d:重启系统,不把记录写到/var/log/wtmp日志文件中
-f:不管当前系统处于何种运行级别都不调用shutdown而强制重启系统

###使用reboot命令重启linux系统

[root@localhost ~]# reboot

init命令

ink 程序主要用于系统不同运行级之间的切换, 切换的工作是立即完成的。 例如, init 0
就是将系统运行级切换到 0, 也就是关机; init 6 命令用于将系统运行级别切换到 6, 也就是
重启系统。

关机

[root@localhost ~]# init 0

重启系统

[root@localhost ~]# init 6
0人推荐
随时随地看视频
慕课网APP