zoukankan      html  css  js  c++  java
  • Linux 运行级别

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/47

    运行级别

    不同运行级别的描述

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

    注意:ubuntu系统下,运行级别2-5提供的服务是一样的,即2-5级别没有差别,所以ubuntu系统下0表示关机,1表示维护模式,2-5表示GUI界面的系统,6表示重启系统。

    修改默认的运行级别

    如果想要修改默认的运行级别,修改/etc/inittab文件。( ubuntu系统默认没有/etc/inittab文件,在/etc/init/rc-sysinit.conf文件中指定了默认运行级别。)

    id:3:initdefault:
    

    将数字改为需要的运行级别即可。

    不同运行级别之间的 差别的在于系统默认起动的服务的不同。例如运行级别1会关闭网络服务,运行级别3默认不启动X图形界面服务,而运行级别5却默认起动。

    runlevel命令

    [root@localhost ~]# runlevel
    N 3
    

    使用runlevel命令可以显示前次和当前的运行级别,中间使用空格符隔开,如果没有前次运行级别则显示N。例如,系统默认运行级别是2,且用户没有切换过运行级别,那么运行runlevel命令后,系统显示为N 2。如果当前运行级别为2,用户使用init 3切换到运行级别3,那么runlevel命令显示为2 3。

    rcN.d目录和init.d目录

    每个运行级别在/etc下都对应一个rcN.d目录,N的范围是0-6。系统启动时,根据默认的运行级别执行相应rcN.d目录下的服务。为了管理方便,该目录下所有的服务实际是软链接到/etc/init.d目录下相应的脚本文件。由init.d目录下的脚本文件完成服务的启动和关闭功能。
    rcN.d目录下文件的格式为:[SK]NNname。S表示启动该服务,K表示关闭该服务;NN表示启动顺序号,最小的数字最先被启动,最大的数字最后被启动。name表示服务名称。

    [root@localhost etc]# cd rc3.d/
    [root@localhost rc3.d]# ls
    K01smartd        K15httpd           K69rpcsvcgssd  K76ypbind          K89rdisc         S02lvm2-monitor  S12rsyslog     S23NetworkManager    S26acpid      S64mysqld     S90crond
    K02oddjobd       K30spice-vdagentd  K73winbind     K84wpa_supplicant  K92pppoe-server  S08ip6tables     S13cpuspeed    S24nfslock           S26haldaemon  S80postfix    S95atd
    K05wdaemon       K50dnsmasq         K74ntpd        K86cgred           K95firstboot     S08iptables      S13irqbalance  S24rpcgssd           S26udev-post  S82abrt-ccpp  S97rhnsd
    K10psacct        K50kdump           K75cgconfig    K87restorecond     K95rdma          S10network       S13rpcbind     S25blk-availability  S28autofs     S82abrtd      S97rhsmcertd
    K10saslauthd     K60nfs             K75ntpdate     K88sssd            K99rngd          S11auditd        S15mdmonitor   S25cups              S50bluetooth  S84php-fpm    S99certmonger
    K15htcacheclean  K61nfs-rdma        K75quota_nld   K89netconsole      S01sysstat       S11portreserve   S22messagebus  S25netfs             S55sshd       S85nginx      S99local
    
    [root@localhost rc0.d]# ll
    total 0
    lrwxrwxrwx. 1 root root 20 Apr  5 18:20 K01certmonger -> ../init.d/certmonger
    lrwxrwxrwx. 1 root root 16 Apr  5 18:23 K01smartd -> ../init.d/smartd
    lrwxrwxrwx. 1 root root 17 Apr  5 18:20 K02oddjobd -> ../init.d/oddjobd
    lrwxrwxrwx. 1 root root 19 Apr  5 18:20 K02rhsmcertd -> ../init.d/rhsmcertd
    lrwxrwxrwx. 1 root root 15 Apr  5 18:19 K03rhnsd -> ../init.d/rhnsd
    lrwxrwxrwx. 1 root root 13 Apr  5 18:20 K05atd -> ../init.d/atd
    lrwxrwxrwx. 1 root root 17 Apr  5 18:25 K05wdaemon -> ../init.d/wdaemon
    

    我们注意到,在运行级别为3的时候,nginx服务默认是启动的。

    [root@localhost rc3.d]# ls | grep nginx
    S85nginx
    

    如果想要开机时不启动nginx,输入下列命令:

    [root@localhost rc3.d]# chkconfig nginx off
    

    则nginx服务开机时就不自动启动了。

    [root@localhost rc3.d]# ls | grep nginx
    K15nginx
    

    chkconfig

    用来更新(启动或停止)和查询系统服务的运行级信息

    chkconfig [--list] [--type type][name]
    chkconfig --add name
    chkconfig --del name
    chkconfig --override name
    chkconfig [--level levels] [--type type] name <on|off|reset|resetpriorities>
    chkconfig [--level levels] [--type type] name
    

    具体用法见http://roclinux.cn/?p=51 或者 man chkconfig

    参考资料:http://blog.csdn.net/luomoweilan/article/details/20290165

  • 相关阅读:
    POJ3259
    常见OJ评判结果对照表
    python初尝试,写一个简单的爬虫程序
    springboot整合swagger,前后端接口规范
    idea 简单添加springmvc
    idea 搭建web项目
    java实现二分查找
    python语法
    kafka linux 常用操作指令
    spring 容器
  • 原文地址:https://www.cnblogs.com/zhangyachen/p/8035680.html
Copyright © 2011-2022 走看看