Linux系统不能强制关机,已避免数据丢失。关机时,应当使用正确的关机指令,让系统在关机之前提示所有服务有序关闭。shutdown命令可以更安全的关闭计算机,推荐使用。 同时,由于服务器系统的特殊性,服务器不能做关机操作。

shutdown 命令

命令名称:shutdown
命令所在路径:/usr/sbin/shutdown
执行权限:root
功能描述:执行系统关机的命令

shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

语法:shutdown [选项] [参数]
-c:取消前一个关机命令
-h:关机
-r:重启
-k:并不会真的关机,只是将警告讯息传送给所有使用者
-t seconds:设定在几秒钟之后进行关机程序

  1. ## 范例
  2. shutdown -h now ## 立刻关机(服务器不能关机)
  3. shutdown -r 20:30 ## 在20:30自动重启
  4. shutdown -h 10 ## 10分钟后强制关机
  5. shutdown -c ## 取消前一个关机命令,并将消息传给所有终端
  6. shutdown -k ## 给所有终端提送关机警告信息,但不关机
  7. shutdown -t 5 "System will shutdown after 5 minutes" ## 5分钟后关机,同时将警告信息给所有终端

此外,通过haltpoweroffinit 0 等命令也能关闭计算机,通过rebootinit 6 等命令也可以重启Linux系统,但在此不推荐使用,我们只需要熟练使用shutdown命令即可。

系统的运行级别

即 init num 命令中的数字,init命令即表示调用对应的系统运行级别。 init进程是所有Linux进程的父进程。 init命令是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。

编号(num) 说明
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启

关于每一个运行级别,在对应的学习视频章节中有详细的介绍。

level 命令

打印当前Linux的系统运行级别

Linux操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做runlevel。同样,当linux操作系统关闭时也要经历另外几个不同的runlevel。
runlevel可以认为是系统状态,进入每个runlevel都需要启动或关闭相应的一系列服务(services),这些服务(services)以初始化脚本的方式放置于/etc/rc.d/rc?.d/或者/etc/rc?.d目录下(?代表runlevel的对应序号)。
多数的桌面的linux系统缺省的runlevel是5,用户登陆时为图形界面,而多数的服务器版本的Linux系统缺省的runlevel是3,用户登陆时是字符界面。
runlevel 1和2除了调试之外很少使用,也并不是直接给用户使用,而是用来为单用户模式作准备。
Linux的运行模式比起windows的启动模式的优势在于:你可以在系统空闲时使用init命令切换你现在使用的runlevel。
当你关闭或者启动Linux系统时你已经不知不觉中切换你的runlevel,系统关机进程需要调用runlevel(0或6)来关闭所有正在运行中的进程。

  1. ## 范例
  2. init 5 ## 切换系统的运行级别为5
  3. [root@localhost /]# runlevel ## 查看当前系统的运行级别
  4. N 5

logout 命令

命令名称:logout
执行权限:所有用户
功能描述:退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。
语法:logout

  1. ## 范例
  2. logout ## 退出当前用户
  3. ## 运维服务器时,不再使用Linux系统之后,应当及时退出当前用户,避免账号被他人使用。