zoukankan      html  css  js  c++  java
  • linux 命令学习(4)

    Linux中常用的关机和重新启动命令有shutdown、halt、reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍。 
    
    1. shutdown 
    
    shutdown命令用于安全关闭Linux系统。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。 
    
    执 行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可 以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的 程序。 
    
    shutdown命令的部分参数如下: 
    
    [-t] 指定在多长时间之后关闭系统 
    
    [-r] 重启系统 
    
    [-k] 并不真正关机,只是给每个登录用户发送警告信号 
    
    [-h] 关闭系统(halt) 
    
    shutdown命令的工作实质是给init程序发送信号(signal),要求其切换系统的运行级别(Runlevel)。系统的运行级别包括: 
    
    0:关闭系统 
    
    1:单用户模式,如果没有为shutdown命令指定-h或-r参数而直接执行,则默认将切换到此运行级别 
    
    2:多用户模式(不支持NFS) 
    
    3:多用户模式(支持NFS),一般常用此种运行级别 
    
    5:多用户模式(GUI模式) 
    
    6:重新启动系统 
    
    2. halt 
    
    halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。 
    
    halt命令的部分参数如下: 
    
    [-f] 没有调用shutdown而强制关机或重启 
    
    [-i] 关机或重新启动之前,关掉所有的网络接口 
    
    [-p] 关机时调用poweroff,此选项为缺省选项 
    
    3.reboot 
    
    reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。 
    
    4.init 
    
    init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动。
    shutdown与poweroff的
    shutdown :使系统关闭,参考一下现有的解释:“命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。 而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重 启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等”
    而且shutdown会去执行 /etc/rc0.d/ 下面的脚本,也就是说会去执行runlevel 0 的脚本。 halt则不会。
    
    Poweroff : 切断系统电源
    poweroff就是halt的软链接而已。执行的还是halt命令。关于halt 命令,可以这样理解:halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

  • 相关阅读:
    4.深入k8s:容器持久化存储
    3.深入k8s:Deployment控制器
    深入k8s:Pod对象中重要概念及用法
    深入k8s:k8s部署&在k8s中运行第一个程序
    博文大纲
    文字渲染一探
    搭建sonarqube分析golang代码
    MSSQL系列 (四):系统函数之日期和时间函数
    MSSQL系列 (三):系统函数之字符串函数
    MSSQL系列 (二):表相关操作、列操作、(唯一、主键、默认、检查、外键、非空)约束、临时表
  • 原文地址:https://www.cnblogs.com/wangshuai6707/p/4430584.html
Copyright © 2011-2022 走看看