日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

关于Ubuntu运行级别、开机启动脚本的说明

發(fā)布時間:2025/7/14 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Ubuntu运行级别、开机启动脚本的说明 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于Ubuntu運行級別、開機啟動腳本的說明

目錄簡介

1.1介紹Ubuntu下面的自啟動腳本目錄

1.2 Linux操作系統(tǒng)運行級別的概念

1.3關(guān)于操作系統(tǒng)自啟腳本的啟動順序

1.4??? Linux操作系統(tǒng)運行級別的概念

1.5 自啟和關(guān)閉自啟服務(wù)

1.6 對于init [number]命令

Content:

1.1 介紹Ubuntu操作系統(tǒng)關(guān)于自啟動腳本的幾個目錄

其中rc0.d~rc.6.d文件夾下分別對應(yīng)的是操作系統(tǒng)0-6級運行的狀態(tài)下需要執(zhí)行的腳本。此外還有rcS.d文件夾和rc.local文件,而在這些文件夾下的文件,都是軟鏈文件,指向指定位置的腳本,有圖為證:

?????? 經(jīng)查看,發(fā)現(xiàn)這些軟鏈都是指向同一個文件夾../init.d/的腳本文件,

我們查看其它的文件夾,發(fā)現(xiàn)情況都是這樣子。因此所有開機自啟動的腳本文件都是放在/etc/init.d/目錄下面的:

?

那么這些rcN.d分別代表什么意義?或者是說是不是按照0~6的順序依次運行?肯定不是。因為我們查看rc0.d folder

發(fā)現(xiàn),在該文件夾下,居然有halt(關(guān)機)腳本,因此開啟操作系統(tǒng)的時候,肯定不可能執(zhí)行這個。因此證明rcN.d這幾個folders之間是相互獨立的,沒有什么本質(zhì)的聯(lián)系。

?????? 那么為什么會有這幾個文件夾的區(qū)別呢?這就引入了linux操作系統(tǒng)的運行級別(run-level)概念。

1.2 Linux操作系統(tǒng)運行級別的概念

?????? 根據(jù)前面學(xué)習(xí)的內(nèi)容,我們知道有rc0~6在加 rcS.d & rc.local,后面這兩個我們先不看,至少存在0-6共七種運行級別。這里的運行級別的概念被稱為System V的運行機制。這七種運行級別的含義如下(僅僅針對Ubuntu,其他系統(tǒng)定義可能不完全一樣):

我們可以通過runlevel查看當(dāng)前系統(tǒng)的運行狀態(tài)

?

?

也就是說我們系統(tǒng)的運行級別目前是2,該參數(shù)的配置文件/etc/init/rc-sysinit.conf

?

因此我們開機自啟動的腳本在rc2.d文件夾下,所有的軟鏈指向/etc/init.d/中的腳本文件:

?

這些就是我們默認(rèn)開機狀態(tài)下,要啟動的服務(wù),如果我們將自己的腳本放在/etc/init.d/目錄下,同時在rcN.d中創(chuàng)建軟鏈,指向該文件(軟鏈的名稱應(yīng)該是S<num><service name>,便可以開機自啟這些服務(wù)。同時我們還可以修改配置文件/etc/init/rc-sysinit.conf中的DEFAULT_RUNLEVEL的值,修改操作系統(tǒng)默認(rèn)的運行級別。

1.3 關(guān)于操作系統(tǒng)自啟腳本的啟動順序

?????? 假設(shè)我們的操作系統(tǒng)運行級別是2,那么在/etc/rc2.d/文件夾下的腳本執(zhí)行順序是怎樣的?因為有些服務(wù)需要先啟動,有些服務(wù)需要后啟動,他們之間存在先后關(guān)系,即有向圖的關(guān)系。

?????? 我們查看該文件夾下的軟鏈名稱(見上圖),軟鏈的名稱有一定的規(guī)則:

?????? S[number][service name] --> ../init.d/servicename

?????? S 表示 Start,開啟服務(wù)

?????? [number]表示的是該腳本的運行優(yōu)先級,number越小,腳本的運行優(yōu)先級就越高

?????? [service name]表示的是服務(wù)的名稱。

?????? 因此我們?nèi)绻枰x一個服務(wù)啟動的優(yōu)先級(順序),則需指定腳本的number即可。

??????

?????? 根據(jù)此規(guī)則,我們查看rc6.c文件夾(重啟運行級別):

按照number的順序,顯示Kill服務(wù),之后再Start一些服務(wù),最后重新啟動S90reboot.

1.4 關(guān)于rcS.d rc.local文件夾的意義

該腳本是在rc0~6.d文件夾下的腳本執(zhí)行之前執(zhí)行rcS.d文件夾下的腳本命令。

1.5 自啟和關(guān)閉自啟服務(wù)

?????? 在理解了自啟服務(wù)的原理之后,我們可以手動添加腳本鏈接文件到指定的rcN.d目錄下,但是這種純手工的方式比較復(fù)雜,因此我們可以使用簡單的命令來實現(xiàn)這種功能,或者是指定的工具來實現(xiàn)。

?????? 命令版本# update-rc.d來自動實現(xiàn)System V 的RunLevel的啟動腳本服務(wù),前提是這些服務(wù)的啟動腳本位于/etc/init.d/目錄下。

?????? update-rc.d <service name> start|stop| <order number> <run levels>

?????? eg:

????????????? sudo update-rc.d rinetd start 20 2

????????????? sudo update-rc.d rinetd stop 20 0

?

?????? update-rc.d <service name> enable|disable? <runlevels> # 開啟或者是禁止

?????? eg:

????????????? sudo update-rc.d rinetd disable 2 在runlevel2中暫時禁止該服務(wù)

?

?????? update-rc.d <service name> default [NN | SS KK]

?????? eg:

????????????? sudo update-rc.d rinetd default 80 80 ?# default 表示在2 3 4 5 中添加80(the first 80)順序的Start,在0 6 中添加80(the second 80)順序的Kill服務(wù)

??????

?????? 注意實現(xiàn)去對應(yīng)的文件夾查看該服務(wù)的ordernumber

?????? 從啟動里面刪除

?????? sudo update-rc.d -f <service name> remove

?????? 這樣在所有的運行級別中就會刪除掉關(guān)于該service的自啟和關(guān)閉服務(wù)鏈接(刪除的僅僅是鏈接,而不是/etc/init.d/文件夾中的腳本文件)

1.6 對于init [number]命令

  我們在命令行中關(guān)閉操作系統(tǒng)或者是重新啟動,使用的是

?

?

?

?????? 在本質(zhì)上調(diào)用的是:

???????

? ? ??

?

??????

?????? rc0.d 表示的關(guān)機 rc6.d表示的是重新啟動

?????? 因此我們還可以在不重新啟動操作系統(tǒng)的前提下,切換操作系統(tǒng)的RunLevel

?????? sudo init <num>

GuangZhou 2016-8-6?

?

轉(zhuǎn)載于:https://www.cnblogs.com/hbhzsysutengfei/p/ubuntu-runlevel-autostart-service.html

總結(jié)

以上是生活随笔為你收集整理的关于Ubuntu运行级别、开机启动脚本的说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。