zoukankan      html  css  js  c++  java
  • linux 系统的7个运行级别

    一、Linux的运行级别(runlevel)

    1 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 
    2 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 
    3 运行级别2:多用户状态(没有NFS) 
    4 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 
    5 运行级别4:系统未使用,保留 
    6 运行级别5:X11控制台,登陆后进入图形GUI模式 
    7 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    二、运行级别的原理

    1、在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
    2、在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
    3、rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
    4、系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件

    对于以K开头的文件,系统将终止对应的服务
    对于以S开头的文件,系统将启动对应的服务

    5、查看运行级别用:runlevel
    6、进入其它运行级别用:(sudo) init N
    7、另外init0为关机,init 6为重启系统

    另外,当使用runlevel查看运行级别时,结果会显示前一次的运行级别和现在的运行级别,如果前次的运行级别为N,那么说明前次没有运行级别(可能刚刚power on)

    三、在运行模式中加入启动服务

    要在某个运行模式中加入一个启动服务
    1、首先要新建该服务启动脚本
    2、然后把它放置于/etc/rc.d/init.d或者/etc/init.d/(根据你的linux版本有所不同)目录下
    3、要将该启动脚本与运行模式关联起来,你需要这个运行模式的目录下建立一个与/etc/rc.d/init.d/下启动脚本的symbolic link

    文件名的前缀通常为SXX,XX为数字,这个数字是用来控制该运行模式下服务的启动顺序。
    脚本的执行顺序是按照数字大小升序执行,就是数字越小越先执行。
    如:

    下面就是一个在运行模式中加入启动服务具体的例子:

    $ cp myservice /etc/rc.d/init.d/
    $ ln -s /etc/rc.d/init.d/myservice /etc/rc3.d/S99myservice

    这样,下次以runlevel 3启动时,myservice就会自动启动。

    四、注意

    多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel s和S并不是直接给用户使用,而是用来为Single user mode作准备。

    参考:https://www.jianshu.com/p/635e8480a75e

  • 相关阅读:
    (Problem 3)Largest prime factor
    (Problem 2)Even Fibonacci numbers
    (Problem 33)Digit canceling fractions
    (Problem 28)Number spiral diagonals
    多线程与多进程
    安装非英语版本的 Microsoft Visual Studio 2008 Service Pack 1 后,智能提示变为英文的临时补丁发布
    SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别比较
    MSIL Instruction Table
    使用updatePanel报错 “不允许进行筛选”!
    SQLServer2008中恼人的"阻止保存要求重新创建表的更改"
  • 原文地址:https://www.cnblogs.com/xmnote/p/12143979.html
Copyright © 2011-2022 走看看