在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. 大数据框架hadoop的序列化机制

    Java内建序列化机制 在Windows系统上序列化的Java对象,可以在UNIX系统上被重建出来,不需要担心不同机器上的数据表示方法,也不需要担心字节排列次序. 在Java中,使一个类的实例可被序列 ...

  2. Linux vnc服务器操作(启动/停止/重起/自启动)

    8.启动和停止VNC服务1)启动VNC服务命令[root@testdb ~]# /etc/init.d/vncserver startStarting VNC server: 1:rootNew 't ...

  3. Netty私有协议栈 读书笔记

    1.数据结构定义 1)netty消息:NettyMessage package com.cherry.netty.demo.protocolstack.pojo; import com.cherry. ...

  4. C++ 类成员的构造和析构顺序

    我想对面向对象有了解的童鞋应该不会对类和对象感到陌生吧 ! 对象并不是突然建立起来的,创建对象必须时必须同时创建父类以及包含于其中的对象.C++遵循如下的创建顺序: (1)如果某个类具体基类,执行基类 ...

  5. java web 程序---javaBean

    1.JavaBean 是Java中的一个组件技术,类似于微软的COM组件 SUN公司将JavaBean定义为:可以重复利用的软件组件 2.JavaBean的种类:a.可视化JavaBean   b.非 ...

  6. Java 中的包装类

    Java 中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能简 ...

  7. [html][javascript] 正则匹配示例

    var str="akdlfaklhello 1234klfd1441ksalfd9000kals8998j2345fd;lsa"; var reg = new RegExp(/( ...

  8. jemalloc内存分配器详解

    前言 C 中动态内存分配malloc 函数的背后实现有诸派:dlmalloc 之于 bionic:ptmalloc 之于 glibc:allocation zones 之于 mac os x/ios: ...

  9. Go语言环境安装详细介绍

    工具链介绍 go有两套编译工具链,分别是从plant9移植过来的gc和依赖gcc的gccgo. 官方为gc工具链提供了二进制安装包和源码, 可以根据需要选择一种安装方式.gc工具链对操作系统和CPU类 ...

  10. leetcode917

    class Solution { public: string reverseOnlyLetters(string S) { int len = S.length(); queue<char&g ...