亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

systemctl命令的介紹和使用

發布時間:2020-06-12 09:19:19 來源:億速云 閱讀:228 作者:Leah 欄目:云計算

這篇文章將為大家詳細講解有關systemctl命令的介紹和使用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、systemctl介紹

       通常,Linux 的啟動一直采用init進程。

       我們經常看到

$ sudo /etc/init.d/apache2 start

或者

$ service apache2 start

       這種方法有兩個缺點:

       一是啟動時間長。init進程是串行啟動,只有前一個進程啟動完,才會啟動下一個進程。

       二是啟動腳本復雜。init進程只是執行啟動腳本,不管其他事情。腳本需要自己處理各種情況,這往往使得腳本變得很長。

       為此,LINXU設計引入了Systemd

       它的設計目標是,為系統的啟動和管理提供一套完整的解決方案。根據 Linux 慣例,字母d是守護進程(daemon)的縮寫。Systemd 這個名字的含義,就是它要守護整個系統。使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成為系統的第一個進程(PID 等于 1),其他進程都是它的子進程。

   systemctl命令的介紹和使用

       通過上圖的命令,我們可以查看Systemd版本。

       總的來說,Systemd 的優點是功能強大,使用方便,缺點是體系龐大,非常復雜。事實上,現在還有很多人反對使用 Systemd,理由就是它過于復雜,與操作系統的其他部分強耦合,違反”keep simple, keep stupid”的Unix 哲學。

       systemctl命令的介紹和使用

        上圖就是Systemd的架構圖,看著有點嚇人!

二、systemctl命令

       Systemd 并不是一個命令,而是一組命令,涉及到系統管理的方方面面。

       下面我來介紹幾個常用的命令

# 啟動redis服務

$ sudo systemctl start redis 

# 重啟redis服務

$ sudo systemctl restart redis

# 查看redis服務狀態

$ sudo systemctl status redis

# 重啟系統

$ sudo systemctl reboot

# 關閉系統,切斷電源

$ sudo systemctl poweroff

三、利用systemctl添加自定義服務

       在日常開發中,我們難免搭建各種各樣的服務,這時,我們可以利用systemctl添加我們需要的服務。

systemctl命令的介紹和使用

        以我的系統為例,配置服務可以到上圖的目錄中,system存放了系統配置的服務,user目錄存放用戶自定義配置的服務,當然,你也可以把服務放到system中

systemctl命令的介紹和使用

          上圖是已經搭好的ECF服務,分別有Unit、Service、Install三個關鍵詞

[Unit] 

Description : 服務的簡單描述

Documentation :服務文檔

Before、After:定義啟動順序。Before=xxx.service,代表本服務在xxx.service啟動之前啟動。After=xxx.service,代表本服務在xxx.service之后啟動。

Requires:這個單元啟動了,它需要的單元也會被啟動;它需要的單元被停止了,這個單元也停止了。

Wants:推薦使用。這個單元啟動了,它需要的單元也會被啟動;它需要的單元被停止了,對本單元沒有影響。

[Service]

Type=simple(默認值):systemd認為該服務將立即啟動。服務進程不會fork。如果該服務要啟動其他服務,不要使用此類型啟動,除非該服務是socket激活型。

Type=forking:systemd認為當該服務進程fork,且父進程退出后服務啟動成功。對于常規的守護進程(daemon),除非你確定此啟動方式無法滿足需求,使用此類型啟動即可。使用此啟動類型應同時指定 PIDFile=,以便systemd能夠跟蹤服務的主進程。

Type=oneshot:這一選項適用于只執行一項任務、隨后立即退出的服務。可能需要同時設置 RemainAfterExit=yes 使得 systemd 在服務進程退出之后仍然認為服務處于激活狀態。

Type=notify:與 Type=simple 相同,但約定服務會在就緒后向 systemd 發送一個信號。這一通知的實現由 libsystemd-daemon.so 提供。

Type=dbus:若以此方式啟動,當指定的 BusName 出現在DBus系統總線上時,systemd認為服務就緒。

Type=idle: systemd會等待所有任務(Jobs)處理完成后,才開始執行idle類型的單元。除此之外,其他行為和Type=simple 類似。

PIDFile:pid文件路徑 

ExecStart:指定啟動單元的命令或者腳本,ExecStartPre和ExecStartPost節指定在ExecStart之前或者之后用戶自定義執行的腳本。Type=oneshot允許指定多個希望順序執行的用戶自定義命令。

ExecReload:指定單元停止時執行的命令或者腳本。

ExecStop:指定單元停止時執行的命令或者腳本。

PrivateTmp:True表示給服務分配獨立的臨時空間

Restart:這個選項如果被允許,服務重啟的時候進程會退出,會通過systemctl命令執行清除并重啟的操作。

RemainAfterExit:如果設置這個選擇為真,服務會被認為是在激活狀態,即使所以的進程已經退出,默認的值為假,這個選項只有在Type=oneshot時需要被配置。

[Install]

Alias:為單元提供一個空間分離的附加名字。

RequiredBy:單元被允許運行需要的一系列依賴單元,RequiredBy列表從Require獲得依賴信息。 

WantBy:單元被允許運行需要的弱依賴性單元,Wantby從Want列表獲得依賴信息。 

Also:指出和單元一起安裝或者被協助的單元。 

DefaultInstance:實例單元的限制,這個選項指定如果單元被允許運行默認的實例。

關于systemctl命令的介紹和使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿迁市| 麻阳| 麻江县| 滨海县| 饶平县| 宝鸡市| 理塘县| 将乐县| 昌图县| 伊宁县| 南丹县| 琼海市| 新绛县| 马山县| 湘西| 兖州市| 高邮市| 万州区| 灵寿县| 偃师市| 平凉市| 天祝| 乐平市| 广宁县| 桂平市| 林芝县| 永德县| 剑河县| 正宁县| 灌阳县| 全州县| 郧西县| 依兰县| 甘孜| 安远县| 莎车县| 治县。| 射阳县| 察隅县| 辽宁省| 斗六市|