服務管理方式service和systemctl

2021-09-30 20:25:11 字數 4542 閱讀 5593

service命令其實是去/etc/init.d目錄下,去執行相關程式

# service命令啟動redis指令碼

service redis start

# 直接啟動redis指令碼

/etc/init.d/redis start

# 開機自啟動

update-rc.d redis defaults

其中指令碼需要我們自己編寫(後面說)

systemd是linux系統最新的初始化系統(init),作用是提高系統的啟動速度,盡可能啟動較少的程序,盡可能更多程序併發啟動。

systemd對應的程序管理命令是systemctl

1)systemctl命令相容了service

即systemctl也會去/etc/init.d目錄下,檢視,執行相關程式

linuxsystemctl是乙個系統管理守護程序、工具和庫的集合,用於取代system v、service和chkconfig命令,初始程序主要負責控制systemd系統和服務管理器。通過systemctl –help可以看到該命令主要分為:查詢或傳送控制命令給systemd服務,管理單元服務的命令,服務檔案的相關命令,任務、環境、快照相關命令,systemd服務的配置過載,系統開機關機相關的命令。 

1. 列出所有可用單元

# systemctl list-unit-files

2. 列出所有執行中單元

# systemctl list-units

3. 列出所有失敗單元

# systemctl –failed

4. 檢查某個單元(如 crond.service)是否啟用

# systemctl is-enabledcrond.service

5. 列出所有服務

# systemctl list-unit-files –type=service

6. linux中如何啟動、重啟、停止、過載服務以及檢查服務(如 httpd.service)狀態

注意:當我們使用systemctl的start,restart,stop和reload命令時,終端不會輸出任何內容,只有status命令可以列印輸出。

7. 如何啟用服務並在開機時啟用或禁用服務(即系統啟動時自動啟動mysql.service服務)

# systemctl is-active mysql.service

# systemctl enable mysql.service

# systemctl disable mysql.service

8. 如何遮蔽(讓它不能啟動)或顯示服務(如ntpdate.service)

# systemctl mask ntpdate.service

ln -s 『/dev/null」/etc/systemd/system/ntpdate.service』

# systemctl unmask ntpdate.service

rm 『/etc/systemd/system/ntpdate.service』

9. 使用systemctl命令殺死服務

# systemctl killcrond

10. 列出所有系統掛載點

# systemctl list-unit-files –type=mount

11. 掛載、解除安裝、重新掛載、過載系統掛載點並檢查系統中掛載點狀態

# systemctl start tmp.mount

# systemctl stop tmp.mount

# systemctl restart tmp.mount

# systemctl reload tmp.mount

# systemctl status tmp.mount

12. 在啟動時啟用、啟用或禁用掛載點(系統啟動時自動掛載)

# systemctl is-active tmp.mount

# systemctl enable tmp.mount

# systemctl disable tmp.mount

13. 在linux中遮蔽(讓它不能啟用)或可見掛載點

# systemctl mask tmp.mount

ln -s 『/dev/null」/etc/systemd/system/tmp.mount』

# systemctl unmask tmp.mount

rm 『/etc/systemd/system/tmp.mount』

14. 列出所有可用系統套介面

# systemctl list-unit-files –type=socket

15. 檢查某個服務的所有配置細節

# systemctl showmysql

16. 獲取某個服務(httpd)的依賴性列表

17. 啟動救援模式

# systemctl rescue

18. 進入緊急模式

# systemctl emergency

19. 列出當前使用的執行等級

# systemctl get-default

20. 啟動執行等級5,即圖形模式

# systemctl isolate runlevel5.target

或# systemctl isolate graphical.target

21. 啟動執行等級3,即多使用者模式(命令列)

# systemctl isolate runlevel3.target

或# systemctl isolate multiuser.target

22. 設定多使用者模式或圖形模式為預設執行等級

# systemctl set-default runlevel3.target

# systemctl set-default runlevel5.target

23. 重啟、停止、掛起、休眠系統或使系統進入混合睡眠

# systemctl reboot

# systemctl halt

# systemctl suspend

# systemctl hibernate

# systemctl hybrid-sleep

對於不知執行等級為何物的人,說明如下。

runlevel 0 : 關閉系統

runlevel 1 : 救援,維護模式

runlevel 3 : 多使用者,無圖形系統

runlevel 4 : 多使用者,無圖形系統

runlevel 5 : 多使用者,圖形化系統

runlevel 6 : 關閉並重啟機器

2)systemctl命令管理systemd的資源unit

systemd的unit放在目錄/usr/lib/systemd/system(centos)或/etc/systemd/system(ubuntu)

主要有四種型別檔案.mount,.service,.target,.wants

.mount檔案

.mount檔案定義了乙個掛載點,[mount]節點裡配置了what,where,type三個資料項

等同於以下命令:

mount -t hugetlbfs /dev/hugepages hugetlbfs
.service檔案

.service檔案定義了乙個服務,分為[unit],[service],[install]三個小節

[unit]

description:描述,

after:在network.target,auditd.service啟動後才啟動

conditionpathexists: 執行條件

[service]

environmentfile:變數所在檔案

execstart: 執行啟動指令碼

restart: fail時重啟

[install]

alias:服務別名

wangtedby: 多使用者模式下需要的

.target檔案

.target定義了一些基礎的元件,供.service檔案呼叫

.wants檔案

.wants檔案定義了要執行的檔案集合,每次執行,.wants資料夾裡面的檔案都會執行

記憶體管理方式

記憶體管理方式 塊 段 頁 段頁 頁式管理 頁式管理的基本原理將各程序的虛擬空間劃分成若干個長度相等的頁 page 頁式管理把記憶體空間按頁的大小劃分成片或者頁面 page frame 然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請...

管理方式調整

最近加班加成狗,另外,在工作安排和管理上,也覺得一些地方不太對勁,也覺得有些事情管的過細,有些事情缺又管的太粗,所以思前想後,覺得我應該在管理方式得做一些調整,以適應目前的形式,解決發現的問題問題 1 主動合理安排任務,不干涉執行 任務要更主動安排,要更詳細描述,把期望目標和客戶需求描述的更詳細。例...

K8S 06 web管理方式 dashboard

目錄1.2 建立dashboard資源配置清單 1.3 建立相關資源 2 公升級dashboard版本 2.2 使用token登入 2.3 授權細則思考 dashboard是k8s的視覺化管理平台,是三種管理k8s集群方法之一 獲取映象和建立資源配置清單的操作,還是老規矩 7.200上操作 1.1....