zoukankan      html  css  js  c++  java
  • linux init 启动顺序

    redhat init大致启动过程
    第一个运行的程序是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。比如在设定了运行等级 “:id:3:initdefault:”,这就表明Linux需要运行在等级3上。在设定了运行等级后,Linux系统执行的第一个用户层文件就是 /etc/rc.d/rc.sysinit脚本程序,内容包括设定主机名
    检测并挂载/etc/fstab中其他文件系统 ,启动swap分区 ,/etc/sysctl.conf设定内核参数 装载键映射–>键盘上每个键的功能,然后根据系统运行级别运行相关的服务脚本:/etc/rc.d/init.d/脚本和/etc/rc.d /rc#d 。
    在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6),(而/etc/init.d目录也是/etc/rc.d/init.d链接,意思就是你把写好的脚本放置这个目录下也可以)。
    实例介绍
    比如在linux下安装了apache 服务(通过下载二进制文件经济编译安装、而非rpm包)、apache 服务启动命令: /usr/local/apache/bin/apachectl start 。如果让apache服务运行在运行级别3下面。
    命令如下:
    1)touch /etc/rc.d/init.d/apache
    vi /etc/rc.d/init.d/apache
    chown -R root /etc/rc.d/init.d/apache
    chmod 700 /etc/rc.d/init.d/apache
    ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache #S 是start的简写、代表启动、K是kill的简写、代表关闭。60数字 代表启动的顺序。(对于iptv系统而言、许多服务都是建立在数据库启动的前提下才能够正常启动的、可以通过该数字就行调整脚本的 启动顺序))
    apache脚本的内容:
    #!/bin/bash
    #Start httpd service
    /server/apache/bin/apachectl start
    至此 apache服务就可以在运行级别3下 随机自动启动了。(可以结合chkconfig 对启动服务进行相应的调整)。由于相关变量定义不同, 所以以上启动顺序仅供参考。另外上面的例子只是让人更容易理解init的启动原理,一般写好启动脚本直接放在/etc/init.d,更改下文件权限,最 后加到chkconfig 里面就行。
    当然如果只是单纯的开机启动,在/etc/rc.local 文件下以绝对路径添加条启动命令就行,例如 /usr/local/apache2/bin/apachectl start

  • 相关阅读:
    [C/C++ IDE] CLion 配置使用教程
    PyCharm安装使用教程
    SMALI语法大全
    SMALI语法入门教程
    Samba + DLAN 实现电视机播放电脑文件
    深入浅出讲解低功耗蓝牙(BLE)协议栈
    吐血推荐珍藏的Visual Studio Code插件
    为什么我推荐你用 Ubuntu 开发?
    WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体
    C# Task的简单使用
  • 原文地址:https://www.cnblogs.com/dantes91/p/5007997.html
Copyright © 2011-2022 走看看