自centos7后,新增了一個管理服務(wù)的命令——systemctl,通過這個命令可以非常方便的管理系統(tǒng)上的服務(wù)。
通過systemctl開啟、關(guān)閉服務(wù)
下面列出關(guān)于服務(wù)的開啟、關(guān)閉相關(guān)選項
-
start 開啟服務(wù)
-
stop 關(guān)閉服務(wù)
-
restart 重啟服務(wù)
-
status 查看服務(wù)狀態(tài)
-
reload 重新載入配置文件(不關(guān)閉服務(wù))
-
enable 開機自啟動該服務(wù)
-
disable 關(guān)閉開機自啟動
下面通過案例來學(xué)習(xí)
#?查看服務(wù)運行狀況 #?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,出現(xiàn)了enabled表示該服務(wù)開機自啟動。從第三行的running得知該服務(wù)正在運行中。
下面再來演示關(guān)閉、啟動服務(wù)
#?systemctl?stop?atd #?systemctl?start?atd
關(guān)于服務(wù)的運行狀況,除了常見的running、dead等,還有一些,下面列出
-
active(running) 正在運行
-
active(waiting):等待執(zhí)行(等其他服務(wù)執(zhí)行后,再執(zhí)行)
-
active(exited):僅執(zhí)行一次就正常結(jié)束的服務(wù)
-
inactive(dead):服務(wù)未啟動
另外,關(guān)于服務(wù)開機是否啟動也有幾個選項:
-
enable :開機啟動
-
disable:開機不啟動
-
static:開機不能自啟動,但能被其他自啟動的服務(wù)啟動
-
mask:無論如何也不會啟動,該服務(wù)已被強制注銷
通過systemctl觀察系統(tǒng)上服務(wù)
通過systemctl可以查看目前有哪些服務(wù)正在運行,也可以查看系統(tǒng)上所有的服務(wù)(包括未啟動的),還可以查看某一類型的服務(wù)。
list-units 列出當前所有啟動的服務(wù),若沒有使用任務(wù)選項,則默認使用該選項。加上-a則顯示所有,包括未啟動的服務(wù)
–type=TYPE 列出某一類型的服務(wù)
下面看演示內(nèi)容
#?列出系統(tǒng)所有正在運行的服務(wù) #?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-virtiox2dports-vport1p1.device?loaded????active?plugged???/sys/devices/pci0000:00/0000:00:04. ??…… ?? #?列出系統(tǒng)正在運行的service類型的服務(wù) #?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 #?列出系統(tǒng)上所有服務(wù),包括未運行的 #?systemctl?-a ……
通過systemctl管理不同的操作環(huán)境(target unit)
在centos7中,有非常多個target unit,但這里我們只要知道幾個常用的target unit,下面列出常用的target unit:
-
graphical.target 圖形模式
-
multi-user.target 文本模式
-
rescue.target 一般救援模式
-
emergency.target 緊急救援模式
接下來再看如何查看系統(tǒng)默認的操作環(huán)境,以及如何去修改操作環(huán)境。
systemctl?[選項]?[unit.target] [選項] ??get-default:查看系統(tǒng)默認操作環(huán)境 ??set-default:設(shè)置系統(tǒng)默認操作環(huán)境 ?? #?查看默認的操作環(huán)境 #?systemctl?get-default multi-user.target #?重新設(shè)置新的默認操作環(huán)境 #?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