在Linux系统中,仅仅是关机和重启相关的命令就至少有5个,shutdown、 halt、poweroff、reboot、init。各个命令作用如下所示:

命令 说明
shutdown 可用于关机、重启。支持定时和通知
halt 停止系统
poweroff 关机
reboot 重启系统
init init 0:关机,init 6:重启

shutdown

常用用法如下所示:

shutdown [选项] 时间 [消息]

其常用选项如下所示

选项 说明
-r 将系统停止后重启
-h 在系统停止后关机
-c 取消关机
-k 发送警告消息并禁止登录。关不是真正要关机
-P 将系统停止后并关闭电源

halt

常用用法如下所示:

halt [选项]

其常用选项如下所示

选项 说明
-f, --force 强制执行halt或reboot,而不调用shutdown
-p, --poweroff 等同于poweroff
-w, --wtmp-only 仅将关机记录写入/var/log/wtmp文件中,而不真正进行关机或重启
-d, --no-wtmp 不将关机记录写入wtmp文件中

poweroff

常用用法如下所示:

poweroff [选项]

其常用选项如下所示

选项 说明
-p, --poweroff 关闭机器
--reboot 重启系统
-f, --force 强制关闭机器
-w, --wtmp-only 仅将关机记录写入wtmp文件中,而不进行关机或重启
-d, --no-wtmp 不将关机记录写入wtmp文件中

reboot

常用用法如下所示:

reboot [选项]

其常用选项如下所示

选项 说明
-p, --poweroff 关闭机器
--reboot 重启机器
-f, --force 强制重启机器
-w, --wtmp-only 仅将重启记录写入wtmp文件中,而不进行关机或重启
-d, --no-wtmp 不将重启记录写入wtmp文件中

init

常用用法如下所示:

reboot [选项] [命令]

其常用选项如下所示

选项 说明
--help 显示帮助信息
--no-wall 在关机和重启前不发送信息

常用命令如下所示:

命令 说明
0 关闭机器
6 重启机器

用法示例

# 立即关机
[root@localhost system]# shutdown -h now
# 立即重启
[root@localhost system]# shutdown -r now
# 在指定时间重启
[root@localhost system]# shutdown -r 19:30
# 在3分钟后关机
[root@localhost system]# shutdown -h +3
# 关机并关闭电源
[root@localhost system]# halt -p
# 关机但不写记录
[root@localhost system]# halt -d
# 测试关机
[root@localhost system]# halt -w
# 重启系统
[root@localhost system]# reboot
# 关机并关闭电源
[root@localhost system]# poweroff
# 重启
[root@localhost system]# init 6
# 关机
[root@localhost system]# init 0

在以上命令,使用man查看帮助时,会发现halt、poweroff、reboot是一样的,其他三个命令就是一个程序,如下所示:

关机和重启总结

  • shutdown -r 用来重启,等同于reboot
  • shutdown -h -P 用来关闭系统和关闭电源,等同于poweroff
  • poweroff 等同于halt -p
  • shutdown -h 用来关闭系统,但不关闭电源,等同于halt
  • shutdown与reboot/halt的主要区别在于shutdown会给登录系统的用户发送关机或重启的通知消息
  • shutdown -k 仅用于测试关机
  • init依赖于本机init系统,通过情况下,关机的运行级别为0,重启为6

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

Linux 基础教程 41-系统关机和重启的更多相关文章

  1. 『学了就忘』Linux基础命令 — 29、关机和重启

    目录 1.sync数据同步 2.shutdown命令 3.reboot命令 4.halt和poweroff命令 5.init命令 1.sync数据同步 sync命令的基本信息如下: 命令名称:sync ...

  2. 嵌入式LINUX基础教程 第2版

    嵌入式LINUX基础教程  第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...

  3. C#实现控制Windows系统关机、重启和注销的方法

    shutdown命令的参数: shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前用户 shutdown.exe -s -t 时间:设 ...

  4. Android系统关机或重启的几种实现方式

    前阵子工作上遇到一些关于Android系统关机或重启的系统修改,于是,做了一些尝试,也搜集了一下资料,现在整理一下,做一些总结,方便学习或者日后工作的需要. 默认的SDK并没有提供应用开发者直接的An ...

  5. C#实现控制Windows系统关机、重启和注销的方法:

    shutdown命令的参数: shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前用户 shutdown.exe -s -t 时间:设 ...

  6. Linux基础二(挂载、关机重启与系统等级)

    一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...

  7. 【Linux 运维】linux系统关机、重启、注销命令

    linux 关机.重启.注销命令: 关机命令: shutdown -h now 立刻关机(生产常用) shutdown -h  +1  一分钟后关机      (    shutdown -c 可以将 ...

  8. Linux基础教程

    Linux基础教程之<Linux就该这么学>之学习笔记第一篇... ========================= 一.Basic Linux Commands    基本的Linux ...

  9. [SQL基础教程] 4-1 数据的插入(INSERT)

    [SQL基础教程] C4 数据更新 4-1 数据的插入(INSERT) INSERT INSERT INTO <表名>(列1,列2...) VALUES(值1,值2...); 清单 用() ...

随机推荐

  1. VMware ESX常用命令 和 IP 地址修改

    一. VMware ESX Command 1. 看你的esx版本 vmware –v 2. 查看显示ESX硬件,内核,存储,网络等信息 esxcfg-info -a(显示所有相关的信息) esxcf ...

  2. emacs之配置yasnippet

    ~/emacsConfig/auto-complete-yasnippet-setting.el (require 'yasnippet) (setq ac-sources (append '(ac- ...

  3. 黄聪:“不允许对64位应用程序进行修改”的解决方法 --“Changes to 64-bit applications are not allowed.”

    在64位系统中使用VS对程序(32位的)进行调试,出现“不允许对64位应用程序进行修改”的提示,如下图所示: 解决方法:在VS主菜单上选择“生成” or "Build"——“配置管 ...

  4. 学习blus老师js(5)--DOM操作应用高级

    一.表格应用 - 1 获取 tBodies.tHead.tFoot.rows.cells 一个表格可以有很多tbody,所以tBodies是数组: 一个表格只能有一个thead和tfoot,所以tHe ...

  5. 学习笔记之Tips for Macbook

    写给Mac新手的入门指南 - 威锋网 https://mp.weixin.qq.com/s/pqmqGZhNwevx57KeLnzZmg https://bbs.feng.com/read-htm-t ...

  6. 十.jQuery源码分析之.map()

    763行:三个参数. elems:待遍历的数组或对象. callback:回调函数,会在数组的每个元素或对象的每个属性上执行.执行时传入两个参数:数组元素,元素下标;或属性名,属性值. arg:仅限于 ...

  7. 整体读入cmd结果,而不是分行读入,效率极高

    public static long GetDirectorySize(string path) { long res = 0; System.Diagnostics.Process p = new ...

  8. java selenium webdriver第四讲 应用小结

    部分api 1.访问网站 driver.get("http://www.baidu.com"); 或者 driver.navigate().to("http://www. ...

  9. CUDA 新版本 Visual Studio 和 CUDA 兼容性的小问题

    ▶ 升级到 Visual Studio 2017 和 CUDA 9.1 之后,直接编译以前的 CUDA C 程序出现了如下报错: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E00 ...

  10. echarts x轴文字显示不全(解决方案)

    echarts x轴标签文字过多导致显示不全 如图: 解决办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置.(当然yAxis ...