zoukankan      html  css  js  c++  java
  • Linux 启动项介绍

    1. init进程

    非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel,分别由0到6的整数表示)。

    对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d

    image

    在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。

    image

    命令脚本程序的执行顺序:字母S或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。

    2. 修改启动进程


    ●如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。
    ●如果所做的修改比较细致,或者还要求关闭进程使之明确地停止运行,则需要在/etc/rc.d/init.d子目录中添加一个命令脚本程序。这个命令脚本程序必须可以接受Start和Stop参数并完成相应的操作。

    如何把一个shell脚本添加为系统服务,并跟随系统启动:

    可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。
    脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):
    . /etc/init.d/hahad

    start() {
            echo "Starting my process "
            cd /opt
            ./haha.sh
    }
    stop() {
            killall haha.sh
            echo "Stoped"
    }
    写了脚本文件之后事情还没有完,继续完成以下几个步骤:
    chmod +x hahad                    #增加执行权限
    chkconfig --add hahad             #把hahad添加到系统服务列表
    chkconfig hahad on                 #设定hahad的开关(on/off)
    chkconfig --list hahad               #就可以看到已经注册了hahad的服务

    3. 注册系统服务

    操作系统自带的服务,如ssh,ftp等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序提高“身价”。

    比如我想把某个已经安装了的服务添加为系统服务,可以执行以下命令:

    chkconfig --add 服务名称

    chkconfig -leve 启动级别 服务名 on         

    (说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

    chkconfig -leve 启动级别 服务名 off              

    (说明,off表示关闭自启动)

    例如:chkconfig -level 3 mysql on (说明:让mysql服务在命令行模式,随系统启动)

    如果要查看哪些服务被添加为系统服务可以使用命令 :

       ntsysv 或者chkconfig --list

    如果要查看哪些程序被添加为自启动,可以使用命令  :

    cat   /etc/rc.local

    也可以使用   chkconfig --add 服务名称    来删除系统服务

    如果要查看哪些服务被添加为系统服务可以使用命令 :

       ntsysv 或者chkconfig --list

    如果要查看哪些程序被添加为自启动,可以使用命令  :

    cat   /etc/rc.local

  • 相关阅读:
    Unity文件操作路径
    自定义协议封装包头、包体
    完全卸载删除gitlab
    shell脚本报错:syntax error: unexpected end of file
    Shell脚本创建的文件夹末尾有两个问号怎么回事?
    您与此网站之间建立的连接并非完全安全
    linux 查看磁盘文件大小
    mysql连接问题
    Linux查看当前开放的端口
    本地Linux备份服务器[Client]定期备份云服务器[Server]上的文件(下)
  • 原文地址:https://www.cnblogs.com/dorothychai/p/4341983.html
Copyright © 2011-2022 走看看