Ubuntu

如何在啟動時將腳本關聯到特定的執行級別?

  • November 18, 2018

我試圖了解執行級別是如何工作的。我了解 7 個執行級別的含義,並且我了解它們通常由 配置/etc/inittab,它曾經呼叫/etc/init.d/rc,它本身呼叫各種腳本來配置不同的執行級別以及它們應該如何執行。

現在我在一台 Ubuntu 伺服器機器(12.04)上,我看到該inittab文件不再使用,而是在/etc/init目錄中找到腳本。

現在假設我想在啟動時執行一個腳本(例如啟動一個應用程序)。通常我會這樣做編輯/etc/init.d/rc.local文件。

我的問題來了:如果我編輯這個文件,這個腳本會在每個執行級別執行嗎?

例如,如果我希望腳本僅在執行級別 5 下工作,是否應該將此腳本放入/etc/rc5.d/文件夾中?還是有其他方法可以做到這一點?

好的,這就是我發現的:

最新的 Ubuntu 版本使用 upstart(正如@polemon 正確指出的那樣),它使用/etc/init目錄中的特定配置文件來配置腳本應該執行的執行級別。Upstart 將 upstart 作業文件放在/etc/init文件夾中,並將普通的 init 腳本放在/etc/init.d各種/etc/rc*.d文件夾中,並且實際上能夠執行它們。

不使用 upstart 的系統只使用/etc/init.dand /etc/rc*.d。在這種情況下,設置執行級別,將符號連結添加到相應/etc/rc*.d文件夾中的腳本。

此外,顯然rc.local在多使用者執行級別執行腳本。

在 Ubuntu 中,這稱為Upstart。我建議您閱讀Cookbook,它討論瞭如何創建腳本以在特定(偽)執行級別執行。

您指的是“System V”初始化系統。這個想法是讓事情同時開始。我建議你看看instanceUpstart 的功能。

引用自:https://unix.stackexchange.com/questions/88379