Linux 服務管理兩種方式service和systemctl


Linux 服務管理兩種方式service和systemctl

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

# service命令啟動redis腳本
service redis start
# 直接啟動redis腳本
/etc/init.d/redis start
# 開機自啟動
update-rc.d redis defaults

其中腳本需要我們自己編寫

2.systemctl命令
systemd是Linux系統最新的初始化系統(init),作用是提高系統的啟動速度,盡可能啟動較少的進程,盡可能更多進程並發啟動。
systemd對應的進程管理命令是systemctl

1)systemctl命令兼容了service
即systemctl也會去/etc/init.d目錄下,查看,執行相關程序

systemctl redis start
systemctl redis stop
# 開機自啟動
systemctl enable redis

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文件夾里面的文件都會執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM