自centOS7後,新增了一個管理服務的指令-systemctl,透過這個指令可以非常方便的管理系統上的服務。
透過systemctl開啟、關閉服務
#以下列出關於服務的開啟、關閉相關選項
#start 開啟服務
stop 關閉服務
#restart 重啟服務
status 查看服務狀態
reload 重新載入設定檔(不關閉服務)
enable 開機自啟動該服務
#disable 關閉開機自啟動
下面透過案例來學習
# 查看服务运行状况 # systemctl status atd ● atd.service - Job spooling tools Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-11-07 16:20:59 CST; 3 days ago Main PID: 3002 (atd) CGroup: /system.slice/atd.service └─3002 /usr/sbin/atd -f Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Started Job spooling tools. Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Starting Job spooling tools...
透過上面顯示的信息,我們可以獲得很多資訊。從第二行Loaded,出現了enabled表示該服務開機自啟動。從第三行的running得知該服務正在運作。
下面再來示範關閉、啟動服務
# systemctl stop atd # systemctl start atd
關於服務的運作狀況,除了常見的running、dead等,還有一些,以下列出
active(running) 正在執行
#active(waiting):等待執行(等其他服務執行後,再執行)
active(exited):只執行一次就正常結束的服務
inactive(dead):服務未啟動
另外,關於服務開機是否啟動也有幾個選項:
enable :開機啟動
disable:開機不會啟動
static:開機無法自啟動,但能被其他自啟動的服務啟動
#mask:無論如何也不會啟動,該服務已被強制註銷
透過systemctl觀察系統上服務
#透過systemctl可以查看目前有哪些服務正在運行,也可以查看系統上所有的服務(包括未啟動的),也可以查看某一類型的服務。
list-units 列出目前所有啟動的服務,若沒有使用任務選項,則預設使用該選項。加上-a則顯示所有,包括未啟動的服務
--type=TYPE 列出某一類型的服務
下面看演示內容
# 列出系统所有正在运行的服务 # systemctl UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active running Arbitrary Executable File Formats File System Automoun sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device loaded active plugged Virtio network device sys-devices-pci0000:00-0000:00:04.0-virtio1-virtio\x2dports-vport1p1.device loaded active plugged /sys/devices/pci0000:00/0000:00:04. …… # 列出系统正在运行的service类型的服务 # systemctl --type=service UNIT LOAD ACTIVE SUB DESCRIPTION aegis.service loaded active running LSB: aegis update. aliyun.service loaded active running aliyun-assist atd.service loaded active running Job spooling tools auditd.service loaded active running Security Auditing Service # 列出系统上所有服务,包括未运行的 # systemctl -a ……
透過systemctl管理不同的操作環境(target unit)
在centos7中,有非常多個target unit,但這裡我們只要知道幾個常用的target unit,以下列出常用的target unit:
graphical.target 圖形模式
multi-user.target 文字模式
#rescue.target 一般救援模式
emergency.target 緊急救援模式
接下來再看如何查看系統默認的操作環境,以及如何去修改操作環境。
systemctl [选项] [unit.target] [选项] get-default:查看系统默认操作环境 set-default:设置系统默认操作环境 # 查看默认的操作环境 # systemctl get-default multi-user.target # 重新设置新的默认操作环境 # systemctl set-default graphical.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target. # systemctl get-default graphical.target
以上是linux運維之透過systemctl管理服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!