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

  • 相关阅读:
    使用MailKit发送邮件
    移动APP设备锁功能开发中的问题
    Xamarin.Form指纹认证
    Android App安装启动时签名校验
    网络编程学习资料
    ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问
    @media用法解释
    CSS calc() 函数
    css3属性box-sizing:border-box 用法解析
    浮动塌陷-overflow:hidden来解决
  • 原文地址:https://www.cnblogs.com/dantes91/p/5007997.html
Copyright © 2011-2022 走看看