在 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. MP实战系列(十五)之执行分析插件

    SQL 执行分析拦截器[ 目前只支持 MYSQL-5.6.3 以上版本 ],作用是分析 处理 DELETE UPDATE 语句, 防止小白或者恶意 delete update 全表操作! 这里我引用M ...

  2. Python2.7-pickle, cpickle

    pickle, cpickle模块,用于序列化和反序列化 python 对象数据,可以被序列化的有:布尔值,数值,字符串,包含以上三类的容器,定义在模块顶层的函数.内置函数和类,实例对象的 __dic ...

  3. neo4j----创建索引

    创建索引 create index on:Student(name) 删除索引 drop index on:Student(name) 创建唯一索引 create constraint on (s:T ...

  4. IC设计推荐书籍

    IC设计推荐书籍 听语音 | 浏览:779 | 更新:2014-07-19 10:52 1 2 3 4 5 6 7 分步阅读 接触IC设计这一行已经有7年的时间了,前面4年是大学本科,用来学习知识,现 ...

  5. C++面试题:list和vector有什么区别

    C++面试题:list和vector有什么区别?考点:理解list和vector的区别出现频率:★★★★解析:vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随 ...

  6. # 20155218 徐志瀚 EXP7 网络欺诈

    20155218 徐志瀚 EXP7 网络欺诈 1. URL攻击 1.在终端中输入命令netstat -tupln |grep 80,查看80端口是否被占用 发现没有被占用: 2.输入指令service ...

  7. tensorflow batch

    这两天一直在看tensorflow中的读取数据的队列,说实话,真的是很难懂.也可能我之前没这方面的经验吧,最早我都使用的theano,什么都是自己写.经过这两天的文档以及相关资料,并且请教了国内的师弟 ...

  8. 查询表的DDL

    例如: SQL>create table tab001(id varchar(4)); SQL>select dbms_metadata.get_ddl(‘TABLE’,’tab001’) ...

  9. Codeforces 950D A Leapfrog in the Array (思维)

    题目链接:A Leapfrog in the Array 题意:给出1-n的n个数,从小到大每隔一个位置放一个数.现在从大到小把数往前移动,每次把最右边的数移动最靠右边的空格处直到n个数都在前n个位置 ...

  10. Centos7下vim的table键修改为4个空格

    1.要有root用户权限 2.已经安装vim 3.编辑/etc/vim/vimrc 文件,添加set ts=4 vim /etc/vimrc #按大写G到最后一行,添加set ts= set ts = ...