如何控制linux啟動服務和守護程序

Linux在“後臺”執行許多應用程式,您甚至可能不知道這些應用程式。下面是如何控制它們。...

剛剛啟動,但你的系統仍然感覺緩慢和遲鈍?Linux在“後臺”運行許多應用程序,您甚至可能不知道這些應用程序。下面是如何控制它們。

control-linux-startup

linux啟動

我們都知道這個練習:你按下電腦上的電源按鈕,等一下,然後回到一個好看的登錄。但是在那段時間裡會發生什麼?舊的Linux用戶將記住將滾動的診斷消息的頁面(頁面和頁面)。這些消息包含了正在加載的驅動程序、找到的文件系統和正在啟動的不同進程的信息。

讓我們快速看看“開機”和“桌面登錄”之間發生了什麼

  1. 當您打開計算機時,BIOS將加載。這是硬件**商提供的軟件(與操作系統分開),包含要從中啟動會話的設備的設置。
  2. 根據這些設置,BIOS將控制權傳遞給計算機的一個物理磁盤,特別是引導加載程序。雖然引導加載程序可以設置為包含配置數據,但它的主要任務是將控制權傳遞給操作系統。如果您的計算機有多個操作系統,它提供了一個從操作系統中進行選擇的接口。GRUB是大多數現代Linux發行版的標準引導加載程序。
  3. 引導加載程序啟動Linux操作系統時,將加載內核(或操作系統的核心)。這將連接到您的硬件,然後它啟動一個進程,我們稱之為啟動進程。
  4. 這個啟動過程依次負責啟動系統中的所有其他進程。這包括服務器應用程序(包括將出現漂亮桌面登錄的X服務器進程)、所謂的“守護程序”(在後臺等待特定事件的程序,如CUPS打印守護程序)和其他程序(如按計劃執行程序的cron守護程序)。

這是我們關心的最後一步。通過設置和調整配置,您可以精確地控制默認啟動的內容。

守護程序與服務

在本文中,我們將互換使用這些術語。兩者之間存在技術上的差異,超出了本文的討論範圍。但出於我們的目的,它們是相同的,因為它們可以被我們將要回顧的工具控制。

為什麼要擺弄這些設置?

你為什麼要為這些煩惱呢?保留默認值不是更好嗎?

瞭解如何配置計算機啟動時啟動的內容可以提供以下幾個好處:

  • 首先,它可以提高性能。還記得你安裝Apache試用新web應用的時候嗎?不?好吧,你猜怎麼著,除非你卸載了它,否則web服務器是在後臺運行的,佔用了寶貴的RAM。調整啟動設置意味著您可以保持安裝狀態,但只需在需要時啟動即可。(請在此處查看其他一些提高性能的技巧。)
  • 此外,其中一些程序可能會引發安全問題。例如,前面提到的Apache在運行時將打開以與端口80聯繫。如果Apache存在安全問題,那麼向世界開放該端口可能會使您的系統處於危險之中。最好在需要時啟動服務器,完成後立即關閉。

當前啟動流程

今天的Linux系統使用一些主要的啟動系統,如下所述。

初始化

長期以來,init一直是標準的啟動系統,它的歷史可以追溯到Linux所基於的原始Unix系統(其專有名稱是SysVInit,取自systemv Unix)。init系統基於一組啟動腳本,保存在/etc/init.d或/etc/rc.d目錄中,以及“runlevels”的概念,這就是為什麼當你啟動其中一個發行版時,你會立即得到一個基於X系統的圖形桌面登錄。

007Ys3FFgy1h1omuhu14yj30ik0gljs1

init系統遵循Unix哲學,因為它只做一件事,而且做得很好。該系統的支持者提出的一個論點是,它不會試圖做太多,不像下面的一些替代方案。

新貴

Upstart系統是Canonical試圖取代老化的init系統的嘗試。它提供了與init系統的兼容性,但也提供了其他特性。對“事件”的支持允許它對系統中的更改做出反應,例如**新硬件。此外,Upstart可以與舊的init配置一起工作,為舊的包和軟件提供向後支持。

然而,一旦Debian(Ubuntu軟件包的上游源)切換到systemd,Canonical決定也這樣做。Ubuntu 15.04(生動的Vervet)的發佈是第一個默認情況下使用新的啟動系統的版本。

系統

它挑起了我們這個時代一場偉大的火焰戰爭。鑑於init(這裡重點介紹)的缺陷,systemd(或系統守護進程)被開發出來。這使用了一個全新的系統,目標是“在滿足所有條件時”啟動一個服務。然而,與Upstart一樣,它仍然可以支持許多包提供的init樣式的腳本,只有少數值得注意的例外。

007Ys3FFgy1h1omuiyz6yj30im08pt9l

請注意上圖中目錄的名稱,如“這東西想要什麼”這演示了systemd的“按需”行為——當某個東西“想要”藍牙訪問並且滿足條件時,systemd將為它啟動服務。

管理守護程序/服務的工具

雖然從命令行學習如何這樣做不會有什麼壞處(檢查init/Upstart的service命令和systemd的sysctl),但下面是一些用於管理服務的幫助程序。雖然您可能需要調整它們的配置,但總的來說,您要麼啟用它們,要麼將它們設置為默認自動運行,要麼禁用它們。請注意,禁用的服務仍然可以隨時啟動(隨後停止)。

初始d

對於許多用戶,rcconf工具(與前面提到的服務結合)將完成您需要的一切。文本用戶界面(TUI)列出了所有可用服務。您可以使用箭頭鍵上下移動列表,空格鍵可切換服務是否應該啟動(星號)。使用Tab鍵在列表和OK/Cancel按鈕之間移動,空格鍵也可以選擇它們。

在Ubuntu中安裝如下:

sudo apt-get install rcconf

007Ys3FFgy1h1omuk558xj30im09dq37

Red Hat開發了服務配置工具,這是一種圖形應用程序,默認情況下也會出現在CentOS和Fedora等衍生產品中。它提供了一個類似於上面rcconf的列表,並提供了一個類似的列表,該列表能夠檢查和取消檢查服務,以便將它們設置為默認運行或不運行。它還提供了允許您啟動/停止/重新啟動這些服務的按鈕。

007Ys3FFgy1h1omuknvgej30gz0g5759

系統

KDE開發人員為他們的系統設置應用程序創建了一個模塊來控制systemd服務。它位於“系統管理”類別下,允許您查看服務(或“單元”)的狀態、啟用/禁用和編輯配置。它還包含systemd配置文件的編輯器。

007Ys3FFgy1h1omul718sj30im089wet

在Ubuntu中安裝如下:

sudo apt-get install kde-config-systemd

SystemdManager是一個基於GTK的應用程序,在某些存儲庫(包括Fedora和Arch)中可用,而Ubuntu用戶可以從它的GitHub頁面(不再可用)獲取一個.DEB文件。UI有點不同,因為它是用Rust編寫的,但是很容易找到啟用/禁用和啟動/停止服務的控件,而大的中心窗格允許您編輯配置。

下載軟件包後,可以使用以下工具進行安裝:

sudo dpkg -i systemd-manager-download.deb

007Ys3FFgy1h1omulu6gpj30im0dwmxz

同樣對於基於GTK的桌面,systemadm工具提供了一種啟動/停止/重新啟動服務的方法。在Ubuntu中安裝如下:

sudo apt-get install systemd-ui

007Ys3FFgy1h1omumeeadj30im0b5dgf

未來是有系統的

雖然我們同樣強調了本文中的兩個主要的啟動管理系統init和systemd,但大多數主流發行版都在向後者發展。甚至是創建了自己的替代方案的Canonical也看到了牆上的文字,默認情況下包括systemd。

你有偏好嗎?或者這些只是你看不見的背景過程?有什麼技巧或竅門來管理這些事情嗎?請在評論中告訴我們!

  • 發表於 2021-03-15 11:22
  • 閱讀 ( 53 )
  • 分類:電腦

你可能感興趣的文章

什麼是容器linux?您應該使用它嗎?

...在啟動時啟動。此外,在啟動時,雲配置檔案讓主機知道如何加入現有叢集。這個 ...

  • 發佈於 2021-03-15 05:37
  • 閲讀 ( 50 )

如何在安全容器中使用docker安全測試桌面應用程式

...dockerd”守護程序正在執行來確認系統正在執行(您知道如何使用ps、grep和管道,不是嗎?): ...

  • 發佈於 2021-03-15 18:37
  • 閲讀 ( 36 )

如何捕獲和刪除mac上隱藏的啟動守護程式和啟動代理

... 我們將向您展示如何監視這些隱藏的登入項並對其採取操作,以解決獨特的Mac問題。 ...

  • 發佈於 2021-03-24 13:36
  • 閲讀 ( 57 )

linux中的程序是什麼?

... 流程如何開始 ...

  • 發佈於 2021-03-27 02:21
  • 閲讀 ( 60 )

如何使用cockpit web介面管理linux伺服器

...機。它是獨立的,設定簡單,使用方便。我們將向您展示如何開始。 管理多個linux伺服器 如果您要監視多臺Linux計算機或伺服器,您將面臨一個挑戰。這是特別真實的,如果其中一些是執行無頭系統沒有顯示器連線。例如,您...

  • 發佈於 2021-04-01 00:16
  • 閲讀 ( 55 )

如何在linux上殺死殭屍程序

...好的程式會讓殭屍程序潛伏在Linux計算機中。瞭解殭屍是如何產生的,以及如何讓它們最終安息。 程序狀態如何在linux上工作 當然,Linux必須跟蹤計算機上執行的所有應用程式和守護程序。其中一種方法是維護程序表。這是核...

  • 發佈於 2021-04-01 07:47
  • 閲讀 ( 59 )

如何在啟動時用systemd執行linux程式

...立整合服務的過程,甚至與雜誌進行對話。 本教程演示如何設定啟動系統時啟動的系統服務。要在登入時啟動圖形程式,請改用桌面的啟動管理器。 啟動時執行程式 有時,您在計算機上安裝的軟體會將自己連線到Linux啟動過...

  • 發佈於 2021-04-01 17:43
  • 閲讀 ( 50 )

為什麼linux的systemd在這麼多年後仍然存在分歧

...也去不了 我喜歡systemd的一些功能(簡單和標準化的過程控制機制)。我不理解它的一些功能(二進位制日誌)的基本原理。我也不喜歡它的一些功能(修改主資料夾是誰要求的?)。 像Debian這樣的發行版正在做一件聰明的事情...

  • 發佈於 2021-04-02 02:56
  • 閲讀 ( 44 )

如何從linux終端檢查記憶體使用情況

...ee、vmstat和top。我們還將直接檢視reading/proc/meminfo。 linux如何使用ram RAM是一種有限的資源,所有程序(如應用程式和守護程序)都需要它的一部分。只有這麼多了。核心判斷記憶體爭用,並將定量分配的記憶體分配給所有飢餓...

  • 發佈於 2021-04-02 13:03
  • 閲讀 ( 51 )

如何使用journalctl讀取linux系統日誌

隨著systemd的引入,Linux系統日誌記錄發生了變化。瞭解如何使用journalctl命令讀取和過濾系統日誌訊息。 集中式日誌記錄 對爭議並不陌生,systemd系統和****器在收集系統日誌的方式上引入了一個重大的改變。根據建立日誌的服...

  • 發佈於 2021-04-02 17:06
  • 閲讀 ( 39 )
wy0828068400
wy0828068400

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦