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 plain copy print ?
  1. insserv myserver #添加服務  
  2. insserv -r myserver #刪除服務  
  3. insserv -d myserver #使用默認的runlevels  

腳本里邊要定義啟動文件的metadata,格式

[python]  view plain copy print ?
  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. #  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM