在 Linux 系统下一些常用的关机/重启命令有 shutdown、halt、reboot以及init,他们都可以达到重启系统的目的,但每个命令的内部工作过程不同。

一、使用 shutdown 关机或重启

1. shutdown 命令介绍

shutdown 命令安全地将系统关机,在系统关机前使用 shutdown 命令,系统管理员会通知所有登录的用户系统将要关闭,并且 login 指令会被冻结,即新的用户不能再登录。直接关机或是延时一段时间关机都是可以的,也可以进行重启。

shutdown 执行的工作是送信号给 init 程序,要求它改变 runlevel。 runlevel 0 被用来停机, runlevel 6 用来程序激活系统。 而 runlevel 1 则是被用来让系统进入管理工作可以进行的状态。 如果想要了解在停机或重新开机过程中做了哪些动作,可以在 /etc/inittab 里看到关于这些 runlevel 的 信息。

2. shutdown 参数说明

-t 在改变到其它 runlevel 之前,告诉 init 多久以后关机

-r 重启计算机

-k 并不是真正关机,只是送警告信号给每位登陆者

-h 关机后关闭电源

-n 不用 init,而是自己来关机

-c 取消目前正在执行的关机程序

-f 在重启计算机时忽略 fsck

-F 在重启计算机时强迫 fsck

-time 设关机前的时间

二、最简单的关机指令 halt

halt 就是调用 shutdown -h。 halt 执行时,会杀死应用进程,执行 sync 系统调用,文件系统写操作完成后就会停止内核,与 reboot 不同之处在于 halt 用来关机,而 reboot 用来重启系统。

三、使用 reboot 重启系统

reboot 命令用来重启系统,用法比较简单,在终端命令行以 root 用户执行该命令即可进行系统的重启。

reboot 命令常用参数如下:

-n 在重启之前不执行磁盘刷新

-w 做一次重启模拟,并不会真的重新启动

-d 不把记录写到 /var/log/wtmp 档案里( -n 参数包含了 -d)

-f 强制重开机

-i 在重开机之前先把所有网络相关的装置停止

四、使用 poweroff 终止系统运行

poweroff 就是 halt 或 reboot 命令的软链接。而执行 halt 调用 shutdown -h 。具体如下所示:

[hk@localhost ~]$ which poweroff
/usr/sbin/poweroff
[hk@localhost ~]$ ls -l /sbin/poweroff
lrwxrwxrwx. 1 root root 16 Nov 14 21:00 /sbin/poweroff -> ../bin/systemctl
[hk@localhost ~]$ ls -lhtr /sbin/halt
lrwxrwxrwx. 1 root root 16 Nov 14 21:00 /sbin/halt -> ../bin/systemctl
[hk@localhost ~]$

五、使用 init 命令改变系统运行级别

init 是所有进程的祖先,其进程号始终为 1 ,所以发送 TERM 信号给 init 会终止所有的用户进程、守护进程等。 shutdown 使用的就是这种机制。

init 定义了 7 个运行级别,每个运行级别定义如下:

0 停机

1 单用户模式

2 多用户

3 完全多用户模式

4 没有用到

5 X11(X Window)

6 重新启动

这些级别在 /etc/inittab 里指定。这个文件是 init 程序寻找的主要文件,最先运行的服务是放在 /etc/rc.d 目录下的文件。 在大多数的Linux发行版中,启动脚本都是位于 /etc/rc.d/init.d 中的。这些脚本被用 ln 命令链接到 /etc/rc.d/rcN.d 目录,这里的 N 就是运行级别 0 -6.因此使用 init 命令可以关机或重新启动。

Linux命令(十七) 关机命令的更多相关文章

  1. linux下常用关机命令

    linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...

  2. Linux重启和关机命令

    Linux重启命令: 方式1:shutdown –r now 方式2:reboot Linux关机命令: shutdown –h now

  3. linux命令-开关机命令与系统痕迹命令

    一.关机和重启命令 1.sync 命令 命令名称:sync 英文原意:flush file system buffers 所在路径:/bin/sync 执行权限:所有用户 功能描述:刷新文件系统缓冲区 ...

  4. Linux 重启和关机命令

    shutdown -r  05:30   在凌晨五点30分关机     shutdown -r  05:30 &     后台执行     shutdown -c    取消前一个关机命令   ...

  5. Linux通配符和关机命令

      通配符 | # 管道符,或者(正则) > # 输出重定向 >> # 输出追加重定向 < # 输入重定向 << # 追加输入重定向 ~ # 当前用户家目录 `` ...

  6. Linux重启与关机命令

    重启命令 reboot shutdown -r now 立即重启 shutdown -r 10   十分钟后重启 shutdown -r 17:00 在17:00重启 关机命令 halt 立即关机 p ...

  7. Linux学习笔记(9)Linux常用命令之关机重启命令

    (1)shutdown shutdown命令用于关机重启,其语法格式为: shutdown [选项] 时间 其中,-c选项表示取消前一个设置的shutdown命令,-h命令表示关机,-r命令表示重启 ...

  8. Linux环境及基础命令(一)

    Linux环境及基础命令 一.认识Linux系统 略 二.配置Linux系统远程登录 2.1虚拟机系统配置 2.11虚拟机配置 统一NAT模式 虚拟机连不上 确定VMnet8网卡的IP地址(每台虚拟机 ...

  9. Linux学习笔记(1)linux的开关机及重启

    linux的启动流程 一.启动 (1)电源 开关   (2)选择启动方式:FLOPPY/BIOS/CDROM(软盘/bios启动/光盘) 基于MBR引导方式 [1]MBR:最多只能划分4个主分区,逻辑 ...

随机推荐

  1. ap、map值计算

    ap:所有图片某一个类 map:所有图片所有类的ap的平均 以一个score为阈值,大于score的所有框是假定正确输出的所有预测,将这些框和gt匹配(iou大于某一个阈值认为匹配成功),得到当前sc ...

  2. Dubbo -- 系统学习 笔记 -- 目录

    用户指南 入门 背景 需求 架构 用法 快速启动 服务提供者 服务消费者 依赖 必需依赖 缺省依赖 可选依赖 成熟度 功能成熟度 策略成熟度 配置 Xml配置 属性配置 注解配置 API配置 示例 启 ...

  3. Kubernetes1.91(K8s)安装部署过程(四)--Master节点安装

    再次明确下架构:  三台虚拟机 centos 7.4系统,docker为17版本,ip为10.10.90.105到107,其中105位master,接下来的master相关组件安装到此机器上. etc ...

  4. 深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)

    序列化概述: 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象 ...

  5. leetcode25—Search Insert Position

    Given a sorted array and a target value, return the index if the target is found. If not, return the ...

  6. 静态工厂方法和实例工厂方法及普通的bean

    容纳你的bean  bean工厂:最简单的容器,提供了基础的依赖注入支持.创建各种类型的Bean.  应用上下文(ApplicationContext):建立在bean工厂基础之上,提供系统架构服务. ...

  7. 清北学堂寒假集训DAY1

    第一天,上午讲了些基本的技巧和简单算法,主要就是适应这里. 中午跑到食堂吃了顿“饭”(我并没有挖苦233333),然后回宿舍休息休息 因为 迎接我们的是模拟啊啊啊啊啊阿 下午题一发下来,并没有想象中的 ...

  8. Android 给双ListView组织数据源

    需求:现有这样一套原始数据{“A”,"B","C","D","B","A","B" ...

  9. React等开发工具记录

    React Native :React 起源于 Facebook 的内部项目,结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生 ...

  10. struts2_maven_learning

    以下为学习maven struts2 的学习过程,现记录如下. 1.创建一个完善的maven程序 maven:(jar) 1)maven project 2)facet 3)pom.xml,depen ...