Debian 自动运行机制,Debian运行机制


这里整理Debian 开机自动运行机制的一种情况,就是rc0.d   rc1.d .... rcn.d

在/etc目录下,有init.d目录,其中放着一些脚本还有rc.local ,都是放着开机后自动运行的脚本。

而在/etc/rc(n).d目录中,实质上放着是类似快捷方式的链接文件。只想init.d中的脚本。

如果我们想添加一个自动运行的脚本,现在/etc/init.d目下新建一个,脚本可以使python ,sh都可以。

具体的格式可以参见/etc/init.d目录中的一些例子。

关键是 update-rc.d  scriptname  start 99 2 3 4 5 stop 01 0 1 6

其中 scriptname ,就是自动运行的脚本的名字

start 后面的一个参数 ,是启动的运行顺序  ,后面的2 3 4 5 (可多可少) 为在哪几个级别中运行(Debian 没有图形界面时, 默认是2)

stop 同stop ,是关关机时运行的顺序,后面的(0 1 6) 也是运行级别。

运行级别介绍:在/etc/inittab里面看,下面的定义并不是标准配置,随着Debian版本的改变而改变。

一般2、3、4、5都是自定义的,具体看系统服务在2、3、4、5哪个级别运行。

比如gdm在5运行,那就是5是图形界面,如果gdm在2、3、4、5都运行,那么所有的2、3、4、5开机都会启动图形界面

0  停机

1  单用户模式

2  多用户,没有NFS

3  完全多用户模式

4  不知道

5  图形界面

6  重新启动

 

 

debian wheezy 里边要添加一个自动启动的服务

先将启动脚本放在/etc/init.d,然后使用insserv来启用这个服务

例如服务名称为 myserver,则脚本为/etc/init.d/myserver

然后使用 insserv myserver可以将myserver设为自动启动

[python] view plaincopyprint?
  1. insserv myserver #添加服务  
  2. insserv -r myserver #删除服务  
  3. insserv -d myserver #使用默认的runlevels  

脚本里边要定义启动文件的metadata,格式

[python] view plaincopyprint?
  1. #!/bin/bash  
  2. #  
  3. ### BEGIN INIT INFO  
  4. # Provides:          mysql  
  5. # Required-Start:    $remote_fs $syslog  
  6. # Required-Stop:     $remote_fs $syslog  
  7. # Should-Start:      $network $time  
  8. # Should-Stop:       $network $time  
  9. # Default-Start:     2 3 4 5  
  10. # Default-Stop:      0 1 6  
  11. # Short-Description: Start and stop the mysql database server daemon  
  12. # Description:       Controls the main MySQL database server daemon "mysqld"  
  13. #                    and its wrapper script "mysqld_safe".  
  14. ### END INIT INFO  
  15. #  

 

 

相关内容

    暂无相关文章