• Linux设置自启动


    启动大致过程:bootloader-->内核-->内核模块-->挂载根文件系统-->init进程

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

    对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在/etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。在字母S或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在/etc/rc.d/rc3.d/S55named之前执行。

    设置自启动方法:

    简单方法:

    编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。

    使用命令 vi  /etc/rc.local   

    然后在文件最后一行添加要执行程序的全路径。

    例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。

    第一种方式:ln -s 建立启动软连接

    在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录

    Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策

    这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务

    由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务

    K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行

    因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可

    [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

    此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动

    如果需要在多个运行级别下设置自启动,则需建立多个软链接

    这种方式比较繁琐,适用于自定义的服务脚本

    如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式

    第二种方式:chkconfig

    如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off

    在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项

    上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别

    Tips:--list选项可查看指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态

    参考网址:

    http://www.cnblogs.com/gzggyy/archive/2012/08/07/2626574.html

    http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html

  • 相关阅读:
    十月二十七学习报告
    十月二十六学习报告
    十月二十五学习报告
    十月二十四学习报告
    十月二十三学习报告
    十月二十二学习报告
    十月二十一学习报告
    十月十九学习报告
    十月十七学习报告
    十月十六学习报告
  • 原文地址:https://www.cnblogs.com/windfall/p/5408293.html
Copyright © 2020-2023  润新知