Linux軟體安裝——服務管理的命令 摘要:本文主要學習了Linux系統中服務管理的命令。 service命令 service命令用於對系統服務進行管理,比如啟動(start)、停止(stop)、重啟(restart)、查看狀態(status)等。 service命令本身是一個shell腳本,它在/ ...
Linux軟體安裝——服務管理的命令
摘要:本文主要學習了Linux系統中服務管理的命令。
service命令
service命令用於對系統服務進行管理,比如啟動(start)、停止(stop)、重啟(restart)、查看狀態(status)等。
service命令本身是一個shell腳本,它在/etc/init.d/目錄查找指定的服務腳本,然後調用該服務腳本來完成任務。
在CentOS 7版本以後,service命令可以被systemctl命令取代。
基本語法
1 service 服務名稱 [操作]
操作說明
1 start:啟動指定服務。 2 stop:停止指定服務。 3 restart:重啟指定服務。 4 status:查看指定服務指定服務。
使用舉例
1 [root@localhost ~]# service sshd status 2 Redirecting to /bin/systemctl status sshd.service 3 ● sshd.service - OpenSSH server daemon 4 Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) 5 Active: active (running) since 四 2019-07-18 23:58:07 CST; 4 days ago 6 Docs: man:sshd(8) 7 man:sshd_config(5) 8 Main PID: 1474 (sshd) 9 CGroup: /system.slice/sshd.service 10 └─1474 /usr/sbin/sshd -D 11 12 7月 18 23:58:07 localhost.localdomain sshd[1474]: Server listening on :: port 22. 13 7月 18 23:58:25 localhost.localdomain sshd[1577]: Accepted password for root from 192.168.35.1 port 2561 ssh2 14 7月 19 05:58:26 localhost.localdomain sshd[2526]: Accepted password for root from 192.168.35.1 port 4203 ssh2 15 7月 19 07:49:06 localhost.localdomain sshd[2863]: Accepted password for root from 192.168.35.1 port 1072 ssh2 16 7月 19 10:31:53 localhost.localdomain sshd[3554]: Accepted password for root from 192.168.35.1 port 13890 ssh2 17 7月 21 07:56:32 localhost.localdomain sshd[11737]: Accepted password for root from 192.168.35.1 port 2852 ssh2 18 7月 21 22:27:13 localhost.localdomain sshd[13927]: Accepted password for root from 192.168.35.1 port 11588 ssh2 19 7月 22 13:05:22 localhost.localdomain sshd[17236]: Accepted password for root from 192.168.35.1 port 3655 ssh2 20 7月 23 00:15:46 localhost.localdomain sshd[18858]: Accepted password for root from 192.168.35.1 port 9576 ssh2 21 7月 23 01:12:35 localhost.localdomain sshd[19203]: Accepted password for root from 192.168.35.1 port 10673 ssh2 22 [root@localhost ~]#
chkconfig命令
chkconfig命令用來管理開機啟動項,但設置開機啟動時需要指定運行級別。
在CentOS 7版本以後,chkconfig命令可以被systemctl命令取代。
單元文件
一個單元配置文件可以描述如下內容之一:系統服務(.service)、掛載點(.mount)、sockets(.sockets)、系統設備(.device)、交換分區(.swap)、文件路徑(.path)、啟動目標(.target)、由systemd管理的計時器(.timer)。
使用systemctl控制單元時,通常需要使用單元文件的全名,包括擴展名(例如sshd.service)。但是有些單元可以在systemctl中使用簡寫方式:
如果無擴展名,systemctl預設把擴展名當作.service。例如sshd等價於sshd.service。
掛載點會自動轉化為相應的.mount單元。例如/home等價於home.mount。
設備會自動轉化為相應的.device單元。例如/dev/sda2等價於dev-sda2.device。
基本語法
1 chkconfig [選項] [on/off]
選項說明
1 --list 單元名稱:查詢系統單元運行級別信息,不指定則顯示全部系統單元。 2 --level 運行級別:指定操作的運行級別,不指定級別時預設為2345級別。
使用舉例
1 [root@localhost ~]# chkconfig --list 2 3 註意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。 4 如果您想列出 systemd 服務,請執行 'systemctl list-unit-files'。 5 欲查看對特定 target 啟用的服務請執行 6 'systemctl list-dependencies [target]'。 7 8 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 9 network 0:關 1:關 2:開 3:開 4:開 5:開 6:關 10 [root@localhost ~]#
systemctl命令
在CentOS 7以後,systemctl命令用來設置系統服務,它融合之前service和chkconfig的功能於一體,使用它可以永久性或只在當前會話中啟用/禁用服務。
基本語法
1 systemctl [選項]
選項說明
管理某個服務:
1 start 服務名稱:立刻啟動服務。 2 stop 服務名稱:立刻關閉服務。 3 restart 服務名稱:立刻關閉後啟動服務。 4 reload 服務名稱:不關閉服務的情況下,重新載入配置文件,讓設置生效。 5 enable 服務名稱:設置下次開機時,服務會被啟動。 6 disable 服務名稱:設置下次開機時,服務不會被啟動。 7 is-active 服務名稱:檢查服務是否正在運行中。 8 is-enable 服務名稱:檢查服務是否在開機時預設啟用。 9 status 服務名稱:顯示服務狀態,會列出有沒有正在執行、開機時是否啟動等信息。 10 kill 服務名稱:向運行服務的進程發送信號。 11 show 服務名稱:列出服務的配置。 12 mask 服務名稱:註銷服務,註銷後你就無法啟動這個服務了。 13 unmask 服務名稱:取消對服務的註銷。 14 list-dependencies 服務名稱:查看服務的依賴。
查看系統服務:
1 --type=TYPE:只查看某個類型的單元。 2 list-units:列出當前已經啟動的單元(相當於不帶任何參數執行systemctl命令),如果添加-all會同時列出沒有啟動的單元。 3 list-units --type=service:列出當前已經啟動的服務(相當於不帶任何參數執行systemctl命令),如果添加-all會同時列出沒有啟動的服務。 4 list-unit-files:根據/lib/systemd/system/目錄內的文件列出所有的單元。 5 list-unit-files --type=service:根據/lib/systemd/system/目錄內的文件列出所有的服務。 6 –failed:列出執行失敗的單元。 7 –failed --type=service:列出執行失敗的服務。
電源管理:
1 reboot:重啟。 2 poweroff:退出並關閉電源。 3 suspend:待機。 4 hibernate:休眠。 5 hybrid-sleep:同時休眠到硬碟並待機。
使用舉例
1 [root@localhost ~]# systemctl status sshd 2 ● sshd.service - OpenSSH server daemon 3 Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) 4 Active: active (running) since 四 2019-07-18 23:58:07 CST; 4 days ago 5 Docs: man:sshd(8) 6 man:sshd_config(5) 7 Main PID: 1474 (sshd) 8 CGroup: /system.slice/sshd.service 9 └─1474 /usr/sbin/sshd -D 10 11 7月 18 23:58:07 localhost.localdomain sshd[1474]: Server listening on :: port 22. 12 7月 18 23:58:25 localhost.localdomain sshd[1577]: Accepted password for root from 192.168.35.1 port 2561 ssh2 13 7月 19 05:58:26 localhost.localdomain sshd[2526]: Accepted password for root from 192.168.35.1 port 4203 ssh2 14 7月 19 07:49:06 localhost.localdomain sshd[2863]: Accepted password for root from 192.168.35.1 port 1072 ssh2 15 7月 19 10:31:53 localhost.localdomain sshd[3554]: Accepted password for root from 192.168.35.1 port 13890 ssh2 16 7月 21 07:56:32 localhost.localdomain sshd[11737]: Accepted password for root from 192.168.35.1 port 2852 ssh2 17 7月 21 22:27:13 localhost.localdomain sshd[13927]: Accepted password for root from 192.168.35.1 port 11588 ssh2 18 7月 22 13:05:22 localhost.localdomain sshd[17236]: Accepted password for root from 192.168.35.1 port 3655 ssh2 19 7月 23 00:15:46 localhost.localdomain sshd[18858]: Accepted password for root from 192.168.35.1 port 9576 ssh2 20 7月 23 01:12:35 localhost.localdomain sshd[19203]: Accepted password for root from 192.168.35.1 port 10673 ssh2 21 [root@localhost ~]#
結果說明
首先是對服務的基本描述。
Loaded描述操作系統啟動時會不會啟動這個服務。
enabled表示開機時啟動。disabled表示開機時不啟動。static表示服務不可以自己啟動,不過可能會被其它的enabled的服務來喚醒。mask表示服務已經被強制註銷,可通過systemctl unmask改回原來的狀態。
啟動該服務的配置文件路徑為:/lib/systemd/system/prometheus.service。
Active描述服務當前的狀態和服務的啟動時間。
active (running)表示服務正在運行中。inactive (dead)表示服務當前沒有運行。active (exited)表示僅執行一次就正常結束的服務,目前並沒有任何程式在系統中執行。active (waiting)表示服務正在執行當中,不過還再等待其他的事件才能繼續處理。
Docs提供了線上文檔的地址。
Main PID表示進程的ID,接下來是任務的數量,占用的記憶體和CPU資源。
CGroup描述的是CGroup的相關信息。
最後是輸出的日誌信息。