Linux学习笔记(一)-Linux操作系统启动流程以及系统关机命令

来源:互联网 发布:知乎怎么回答问题 编辑:程序博客网 时间:2024/06/06 00:24

Linux操作系统启动流程以及系统关机命令

一. Linux操作系统启动流程

  1. 系统启动流程
    这里写图片描述
    2.配置文件/etc/inittab的基本格式
 label:runlevel:action:process
  • Label一般是1-2个字符的标签,用来标示输入的值。Red Hat Linux中常用的标签是:

    id :用来定义缺省的init运行的级别si :是系统初始化的进程ln: 其中的n从1~6,指明该进程可以使用的runlevel的级别ca: 指明当按下Ctrl+Alt+Del时运行的进程pf :指“当UPS表明断电”时运行的进程pr :是在系统真正关闭之前,UPS发出电源恢复的信号时需要运行的进程x :是将系统转入X终端时需要运行的进程
  • runlevel:

    ```# Default runlevel. The runlevels used by RHS are: #  0 - halt (Do NOT set initdefault to this) #  1 - Single user mode #  2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)#  3 - Full multiuser mode #  4 - unused#  5 - X11 #  6 - reboot (Do NOT set initdefault to this)```
  • action字段定义了该进程应该运行在何种状态下.下面是其常见取值及含义

    ```boot :在系统启动时运行,忽略runlevelbootwait :在系统启动时运行,init等待进程完成。忽略runlevelctrlaltdel :当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给initinitdefault :不要执行这个进程,它用于设置默认runleveloff: 禁止进入,因此该进程不运行once: 运行一次respawn :不管何时终止都重新启动进程sysinit: 在运行boot或bootwait进程之前运行Wait:需等待其运行完毕在运行其他项```
  • process
    • process字段包含init执行的进程,该进程采用的格式与在命令行下运行该进程的格式一样
    • 因此process字段都以该进程的名字开头,紧跟着是运行时要传递给该进程的参数。比如/sbin/shutdown -t3 -r now,该进程在按下Ctrl+Alt+Del时执行,在命令行下也可以直接输入来重新启动系统

3.文件/etc/inittab的一般执行过程
- 例如:在init的配置文件中有这么一行:
si::sysinit:/etc/rc.d/rc.sysinit
- rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要是完成一些系统初始化的工作
- 它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务
- 当rc.sysinit程序执行完毕后,将返回init继续下一步
- 启动对应运行级别的守护进程
- 建立终端

二.系统关机命令

  1. shutdown命令

    • shutdown命令通常必须由超级用户才能执行
    • shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭,请用户保存文件,停止作业,注销用户。此时login指令被冻结,新的用户不能登录
    shutdown命令的详细语法如下:   shutdown [-fFhknc(参数名称)] [-t秒数] 时间 [警告信息] 各参数含义如下:-f:重启系统时不执行fsck。-F:重启时执行fsck。-h:将系统关闭。相当于halt命令。-k:只是送出信息给所有用户,但不会真正关机。-n:  不调用init程序关机,而是由shutdown自己进行(一般关机程序是由shutdown调用init来实现关机动作的),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。-r:shutdown之后重新启动系统。-c:取消一个shutdown命令。    例如,当执行一个“shutdown -h 15:30”的命令时,只要按“Ctrl+C”组合键就可以中断关机的命令;    而执行如“shutdown -h 15:30 &”的命令时,就将shutdown转到后台运行了,此时就需要用“shutdown -c”将前一个shutdown命令取消。-t<秒数>:送出警告信息和关机信号之间要延迟多少秒。   [时间]:设置多久后执行shutdown命令。时间参数有hh:mm或+m两种模式。比较特别的用法是以now表示立即执行shutdown。[警告信息]:要传送给所有登录用户的信息。

    应用举例

    1)在16:50执行shutdown关机:“shutdown 16:502)重启系统:#shutdown -r now3)立即关机: #shutdown -h now4)设定5分钟后关机,同时发出警告信息给登录用户:  #shutdown +5 "System will shutdown after 5 minutes"
  2. halt命令

    • halt是最简单的关机命令,相当于“shutdown -h”组合。halt’执行时,将杀死所有应用程序,然后调用系统指令sync。sync将所有内存信息通过文件系统写入硬盘,然后停止内核
         halt指令在执行时,会首先检测系统的运行级别,如果运行级为0或6,则立即关闭系统,否则调用shutdown来关闭系统。参数含义如下:[-f]:不管当前系统处于何种运行级别,不调用shutdown而强制关机。[-i]:关机之前,关掉所有的网络接口。[-n]:halt执行时,不调用系统指令sync。[-p]:关机时调用poweroff,也就是关机时同时关闭电源。此选项为缺省选项。
  3. reboot命令

    • reboot命令的执行过程与halt基本类似,不同的是halt是用于关机,而reboot是关机后引发系统重启。
  4. init命令

    • init程序主要用于系统不用运行级之间的切换。
      例如:#init 0就是将系统运行级切换到0,也就是关机;#init 6命令用于将系统运行级切换到6,也就是重启系统。
0 0
原创粉丝点击