㈠ linux中 service 和 systemctl 命令比較
本文將比較 Linux 中 service 和 systemctl 命令,先分別簡單介紹這兩個命令的基礎用法,然後進行比較。
從 CentOS 7.x 開始,CentOS 開始使用 systemd 服務來代替 service服務(daemon),原來管理系統啟動和管理系統服務的相關命令全部由 systemctl命令來代替。
service命令是Redhat Linux兼容的發行版中用來控制系統服務的實用工具,它以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的當前狀態。
語法: service option > | --status-all | [ service_name [ command | --full-restart ] ]
option 的值:
可以理解成 service 就是init.d 的一種實現方式。
所以這兩者啟動方式(或者是停止、重啟)並沒有什麼區別。
這種方式有如下缺點:
查看所有的服務狀態:
顯示系統當前的clickhouse進程狀態,可以看到pid是一致的。
在較新的linux系統上,都使用systemd 取代了init,成為系統的第一個進程(PID 等於 1),其他進程都是它的子進程。systemd為系統啟動和管理提供了完整的解決方案。它提供了一組命令。字母d是守護進程(daemon)的縮寫。
查看systemd 的版本:
列出所有服務(包括啟用和禁用):
systemd 的優點是功能強大,使用方便;缺點是體系龐大,非常復雜。事實上,現在還有很多人反對使用 systemd,理由就是它過於復雜,與操作系統的其他部分強耦合,違反 「keep simple, keep stupid」 的Unix 哲學。
下面是service和systemctl命令格式對比: