這篇文章將為大家詳細(xì)講解有關(guān)systemctl命令的介紹和使用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供興安盟烏蘭浩特企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為興安盟烏蘭浩特眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
一、systemctl介紹
通常,Linux 的啟動(dòng)一直采用init進(jìn)程。
我們經(jīng)常看到
$ sudo /etc/init.d/apache2 start
或者
$ service apache2 start
這種方法有兩個(gè)缺點(diǎn):
一是啟動(dòng)時(shí)間長(zhǎng)。init進(jìn)程是串行啟動(dòng),只有前一個(gè)進(jìn)程啟動(dòng)完,才會(huì)啟動(dòng)下一個(gè)進(jìn)程。
二是啟動(dòng)腳本復(fù)雜。init進(jìn)程只是執(zhí)行啟動(dòng)腳本,不管其他事情。腳本需要自己處理各種情況,這往往使得腳本變得很長(zhǎng)。
為此,LINXU設(shè)計(jì)引入了Systemd
它的設(shè)計(jì)目標(biāo)是,為系統(tǒng)的啟動(dòng)和管理提供一套完整的解決方案。根據(jù) Linux 慣例,字母d是守護(hù)進(jìn)程(daemon)的縮寫(xiě)。Systemd 這個(gè)名字的含義,就是它要守護(hù)整個(gè)系統(tǒng)。使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成為系統(tǒng)的第一個(gè)進(jìn)程(PID 等于 1),其他進(jìn)程都是它的子進(jìn)程。
通過(guò)上圖的命令,我們可以查看Systemd版本。
總的來(lái)說(shuō),Systemd 的優(yōu)點(diǎn)是功能強(qiáng)大,使用方便,缺點(diǎn)是體系龐大,非常復(fù)雜。事實(shí)上,現(xiàn)在還有很多人反對(duì)使用 Systemd,理由就是它過(guò)于復(fù)雜,與操作系統(tǒng)的其他部分強(qiáng)耦合,違反”keep simple, keep stupid”的Unix 哲學(xué)。
上圖就是Systemd的架構(gòu)圖,看著有點(diǎn)嚇人!
二、systemctl命令
Systemd 并不是一個(gè)命令,而是一組命令,涉及到系統(tǒng)管理的方方面面。
下面我來(lái)介紹幾個(gè)常用的命令
# 啟動(dòng)redis服務(wù)
$ sudo systemctl start redis
# 重啟redis服務(wù)
$ sudo systemctl restart redis
# 查看redis服務(wù)狀態(tài)
$ sudo systemctl status redis
# 重啟系統(tǒng)
$ sudo systemctl reboot
# 關(guān)閉系統(tǒng),切斷電源
$ sudo systemctl poweroff
三、利用systemctl添加自定義服務(wù)
在日常開(kāi)發(fā)中,我們難免搭建各種各樣的服務(wù),這時(shí),我們可以利用systemctl添加我們需要的服務(wù)。
以我的系統(tǒng)為例,配置服務(wù)可以到上圖的目錄中,system存放了系統(tǒng)配置的服務(wù),user目錄存放用戶自定義配置的服務(wù),當(dāng)然,你也可以把服務(wù)放到system中
上圖是已經(jīng)搭好的ECF服務(wù),分別有Unit、Service、Install三個(gè)關(guān)鍵詞
[Unit]
Description : 服務(wù)的簡(jiǎn)單描述
Documentation :服務(wù)文檔
Before、After:定義啟動(dòng)順序。Before=xxx.service,代表本服務(wù)在xxx.service啟動(dòng)之前啟動(dòng)。After=xxx.service,代表本服務(wù)在xxx.service之后啟動(dòng)。
Requires:這個(gè)單元啟動(dòng)了,它需要的單元也會(huì)被啟動(dòng);它需要的單元被停止了,這個(gè)單元也停止了。
Wants:推薦使用。這個(gè)單元啟動(dòng)了,它需要的單元也會(huì)被啟動(dòng);它需要的單元被停止了,對(duì)本單元沒(méi)有影響。
[Service]
Type=simple(默認(rèn)值):systemd認(rèn)為該服務(wù)將立即啟動(dòng)。服務(wù)進(jìn)程不會(huì)fork。如果該服務(wù)要啟動(dòng)其他服務(wù),不要使用此類(lèi)型啟動(dòng),除非該服務(wù)是socket激活型。
Type=forking:systemd認(rèn)為當(dāng)該服務(wù)進(jìn)程fork,且父進(jìn)程退出后服務(wù)啟動(dòng)成功。對(duì)于常規(guī)的守護(hù)進(jìn)程(daemon),除非你確定此啟動(dòng)方式無(wú)法滿足需求,使用此類(lèi)型啟動(dòng)即可。使用此啟動(dòng)類(lèi)型應(yīng)同時(shí)指定 PIDFile=,以便systemd能夠跟蹤服務(wù)的主進(jìn)程。
Type=oneshot:這一選項(xiàng)適用于只執(zhí)行一項(xiàng)任務(wù)、隨后立即退出的服務(wù)。可能需要同時(shí)設(shè)置 RemainAfterExit=yes 使得 systemd 在服務(wù)進(jìn)程退出之后仍然認(rèn)為服務(wù)處于激活狀態(tài)。
Type=notify:與 Type=simple 相同,但約定服務(wù)會(huì)在就緒后向 systemd 發(fā)送一個(gè)信號(hào)。這一通知的實(shí)現(xiàn)由 libsystemd-daemon.so 提供。
Type=dbus:若以此方式啟動(dòng),當(dāng)指定的 BusName 出現(xiàn)在DBus系統(tǒng)總線上時(shí),systemd認(rèn)為服務(wù)就緒。
Type=idle: systemd會(huì)等待所有任務(wù)(Jobs)處理完成后,才開(kāi)始執(zhí)行idle類(lèi)型的單元。除此之外,其他行為和Type=simple 類(lèi)似。
PIDFile:pid文件路徑
ExecStart:指定啟動(dòng)單元的命令或者腳本,ExecStartPre和ExecStartPost節(jié)指定在ExecStart之前或者之后用戶自定義執(zhí)行的腳本。Type=oneshot允許指定多個(gè)希望順序執(zhí)行的用戶自定義命令。
ExecReload:指定單元停止時(shí)執(zhí)行的命令或者腳本。
ExecStop:指定單元停止時(shí)執(zhí)行的命令或者腳本。
PrivateTmp:True表示給服務(wù)分配獨(dú)立的臨時(shí)空間
Restart:這個(gè)選項(xiàng)如果被允許,服務(wù)重啟的時(shí)候進(jìn)程會(huì)退出,會(huì)通過(guò)systemctl命令執(zhí)行清除并重啟的操作。
RemainAfterExit:如果設(shè)置這個(gè)選擇為真,服務(wù)會(huì)被認(rèn)為是在激活狀態(tài),即使所以的進(jìn)程已經(jīng)退出,默認(rèn)的值為假,這個(gè)選項(xiàng)只有在Type=oneshot時(shí)需要被配置。
[Install]
Alias:為單元提供一個(gè)空間分離的附加名字。
RequiredBy:?jiǎn)卧辉试S運(yùn)行需要的一系列依賴單元,RequiredBy列表從Require獲得依賴信息。
WantBy:?jiǎn)卧辉试S運(yùn)行需要的弱依賴性單元,Wantby從Want列表獲得依賴信息。
Also:指出和單元一起安裝或者被協(xié)助的單元。
DefaultInstance:實(shí)例單元的限制,這個(gè)選項(xiàng)指定如果單元被允許運(yùn)行默認(rèn)的實(shí)例。
關(guān)于systemctl命令的介紹和使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章題目:systemctl命令的介紹和使用
文章轉(zhuǎn)載:http://m.newbst.com/article10/gciigo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、定制開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、App開(kāi)發(fā)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)