zoukankan      html  css  js  c++  java
  • CentOS6.5 添加开机自启动脚本

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务。在解问题之前先来看看Linux的启动流程。

    一、Linux的启动流程

    主要顺序就是: 
    1. 加载内核 
    2. 启动初始化进程 
    3. 确定运行级别 
    4. 加载开机启动程序 
    5. 用户登录

    启动流程的具体细节可以看看Linux 的启动流程 

    第4步加载启动程序其实是两步:

    1. init进程逐一加载开机启动程序,其实就是运行指定目录里的启动脚本。
    2. 在运行完指定目录里面的程序后init进程还会去执行/etc/rc.local 这个脚本。

    ps:“指定目录”是指在第3步中设置的运行级别对应的目录。

    要完成我们的需求,我们使用第4步中的任意一种方式都可以。

    下面分别就是这两种方式的具体实现:

    二、chkconfig

    1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容如下:

    #!/bin/sh
    #chkconfig: 2345 80 90
    #description:开机自动启动的脚本程序
    
    # 开启redis服务 端口为6379
    /usr/local/service/redis-2.8.3/src/redis-server --port 6379 &

    脚本第一行 “#!/bin/sh” 告诉系统使用的shell; 
    脚本第二行 “#chkconfig: 2345 80 90” 表示在2/3/4/5运行级别启动,启动序号(S80),关闭序号(K90); 
    脚本第三行 表示的是服务的描述信息

    注意: 第二行和第三行必写,负责会出现如“服务 autostart.sh 不支持 chkconfig”这样的错误。

    2. 将写好的autostart.sh脚本移动到/etc/rc.d/init.d/目录下

    3. 给脚本赋可执行权限

    cd /etc/rc.d/init.d/
    chmod +x autostart.sh

    4. 添加脚本到开机自动启动项目中

    chkconfig --add autostart.sh
    chkconfig autostart.sh on

    到这里就设置完成了,我们只需要重启一下我们的服务器,就能看到我们配置的redis服务已经可以开机自动启动了。

    三、修改/etc/rc.local脚本

    末尾加入如下语句

    /usr/local/service/redis-2.8.3/src/redis-server --port 6379 &

    切忌 命令行末尾要加上 [  &  ] 符号(介绍), 表示任务在后台执行。否则会阻塞后面添加的命令行执行。

    完毕。

    PS:

    https://blog.csdn.net/karchar/article/details/52489572

    https://blog.csdn.net/daidaineteasy/article/details/54864776

    https://blog.csdn.net/chinabestchina/article/details/72686002

  • 相关阅读:
    小试SQLServer中的CLR特性
    转:memcached命令行参数说明
    2012年9月19日最新整理的日本产品(日货)名单!
    转:Memcached Java Client API详解
    刚写的一个小案例,实现多选的添加及删除
    SVG中的常用标签
    转:网页启用Gzip压缩 提高浏览速度
    SVG案例:著名的PostScript老虎图片
    SVG文档:SVG编程经典教程(转)
    实用技巧:利用SQL Server的扩展属性自动生成数据字典
  • 原文地址:https://www.cnblogs.com/phpdragon/p/9013460.html
Copyright © 2011-2022 走看看