linux下 init程序与系统服务启动管理

来源:互联网 发布:网店美工课教案 编辑:程序博客网 时间:2024/06/01 17:26

一般来说,添加自定义服务的流程如下:、

  1. 在/etc/init.d的文件夹下,添加需要执行的相关脚本。
  2. 在/etc/rc*.d 文件夹,建立软链接 *ln -s K/S /etc/init.d/*.sh*** # ln 后面接上 期望生成的链接文件名。
    K/S开头+启动顺序的数字+简单的描述。数字越小,越早启动,s表示启动,K表示关闭。
  3. 在openwrt中,只有一个rc.d的文件夹用来存放启动文件的链接文件,一般在init.d的下脚本的前面加上START=数字,就会在rc.d的文件夹下生成对应的链接文件, 在ubuntu下就会比较麻烦,具体如下 : 总共有 rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d 分别表示 不同的启动级别 ,
    Ubuntu中的运行级别
    0(关闭系统)
    1(单用户模式,只允许root用户对系统进行维护。)
    2 到 5(多用户模式,其中3为字符界面,5为图形界面。)
    6(重启系统)
    当然,在ubuntu下,也可以手动创建链接文件软链接到init.d下的脚本文件,也可以使用update-rc.d的命令,可以很方便的在 rc*.d的各个文件夹下生成需要的链接文件。

    1. 当然 更多的服务我们会尝试放在 rc.local文件下,这其实也是init.d下的一个启动文件,链接到rc*.d下的时候,放在最后进行启动。此处需要注意的话是,/etc/init.d/rc.local脚本其实并不是真正存放我们命令的地方,真正的脚本文件在 /etc/rc.local 下,前一个脚本会判断 后者是否可执行,然后就执行后者,所以,需要记得千万给/etc/rc.local文件 添加可执行权限, 然后再把需要执行的命令写入/etc/rc.local文件中。