CentOS7中systemctl的使用

CentOS 7.x開(kāi)始,CentOS開(kāi)始使用systemd服務(wù)來(lái)代替daemon,原來(lái)管理系統(tǒng)啟動(dòng)和管理系統(tǒng)服務(wù)的相關(guān)命令全部由systemctl命令來(lái)代替。

1、原來(lái)的 service 命令與 systemctl 命令對(duì)比

daemon命令systemctl命令說(shuō)明

service [服務(wù)] startsystemctl start [unit type]啟動(dòng)服務(wù)

service [服務(wù)] stopsystemctl stop [unit type]停止服務(wù)

service [服務(wù)] restartsystemctl restart [unit type]重啟服務(wù)

此外還是二個(gè)systemctl參數(shù)沒(méi)有與service命令參數(shù)對(duì)應(yīng)

status:參數(shù)來(lái)查看服務(wù)運(yùn)行情況

reload:重新加載服務(wù),加載更新后的配置文件(并不是所有服務(wù)都支持這個(gè)參數(shù),比如network.service)

應(yīng)用舉例:

#啟動(dòng)網(wǎng)絡(luò)服務(wù)systemctl start network.service#停止網(wǎng)絡(luò)服務(wù)systemctl stop network.service#重啟網(wǎng)絡(luò)服務(wù)systemctl restart network.service#查看網(wǎng)絡(luò)服務(wù)狀態(tài)systemctl status network.serivce

2、原來(lái)的chkconfig 命令與 systemctl 命令對(duì)比

2.1、設(shè)置開(kāi)機(jī)啟動(dòng)/不啟動(dòng)

daemon命令systemctl命令說(shuō)明

chkconfig [服務(wù)] onsystemctl enable [unit type]設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)

chkconfig [服務(wù)] offsystemctl disable [unit type]設(shè)備服務(wù)禁止開(kāi)機(jī)啟動(dòng)

應(yīng)用舉例:

#停止cup電源管理服務(wù)systemctl stop cups.service#禁止cups服務(wù)開(kāi)機(jī)啟動(dòng)systemctl disable cups.service#查看cups服務(wù)狀態(tài)systemctl status cups.service#重新設(shè)置cups服務(wù)開(kāi)機(jī)啟動(dòng)systemctlenablecups.service

2.2、查看系統(tǒng)上上所有的服務(wù)

命令格式:

systemctl [command] [–type=TYPE] [–all]

參數(shù)詳解:

command- list-units:依據(jù)unit列出所有啟動(dòng)的unit。加上 –all 才會(huì)列出沒(méi)啟動(dòng)的unit; - list-unit-files:依據(jù)/usr/lib/systemd/system/ 內(nèi)的啟動(dòng)文件,列出啟動(dòng)文件列表

–type=TYPE- 為unit type, 主要有service, socket, target

應(yīng)用舉例:

systemctl命令說(shuō)明

systemctl列出所有的系統(tǒng)服務(wù)

systemctl list-units列出所有啟動(dòng)unit

systemctl list-unit-files列出所有啟動(dòng)文件

systemctl list-units –type=service –all列出所有service類(lèi)型的unit

systemctl list-units –type=service –all grep cpu列出 cpu電源管理機(jī)制的服務(wù)

systemctl list-units –type=target –all列出所有target

3、systemctl特殊的用法

systemctl命令說(shuō)明

systemctl is-active [unit type]查看服務(wù)是否運(yùn)行

systemctl is-enable [unit type]查看服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng)

systemctl mask [unit type]注銷(xiāo)指定服務(wù)

systemctl unmask [unit type]取消注銷(xiāo)指定服務(wù)

應(yīng)用舉例:

#查看網(wǎng)絡(luò)服務(wù)是否啟動(dòng)systemctl is-active network.service#檢查網(wǎng)絡(luò)服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng)systemctl is-enable network.service#停止cups服務(wù)systemctl stop cups.service#注銷(xiāo)cups服務(wù)systemctl mask cups.service#查看cups服務(wù)狀態(tài)systemctl status cups.service#取消注銷(xiāo)cups服務(wù)systemctl unmask cups.service

4、init 命令與systemctl命令對(duì)比

init命令systemctl命令說(shuō)明

init 0systemctl poweroff系統(tǒng)關(guān)機(jī)

init 6systemctl reboot重新啟動(dòng)

與開(kāi)關(guān)機(jī)相關(guān)的其他命令:

systemctl命令說(shuō)明

systemctl suspend進(jìn)入睡眠模式

systemctl hibernate進(jìn)入休眠模式

systemctl rescue強(qiáng)制進(jìn)入救援模式

systemctl emergency強(qiáng)制進(jìn)入緊急救援模式

5、設(shè)置系統(tǒng)運(yùn)行級(jí)別

5.1、運(yùn)行級(jí)別對(duì)應(yīng)表

init級(jí)別systemctl target

0shutdown.target

1emergency.target

2rescure.target

3multi-user.target

4無(wú)

5graphical.target

6無(wú)

此外還是一個(gè)getty.target用來(lái)設(shè)置tty的數(shù)量。

5.2、設(shè)置運(yùn)行級(jí)別

命令格式:

systemctl[command][unit.target]

參數(shù)詳解:

command:

get-default :取得當(dāng)前的target

set-default :設(shè)置指定的target為默認(rèn)的運(yùn)行級(jí)別

isolate :切換到指定的運(yùn)行級(jí)別

unit.target :為5.1表中列出的運(yùn)行級(jí)別

systemctl命令說(shuō)明

systemctl get-default獲得當(dāng)前的運(yùn)行級(jí)別

systemctl set-default multi-user.target設(shè)置默認(rèn)的運(yùn)行級(jí)別為mulit-user

systemctl isolate multi-user.target在不重啟的情況下,切換到運(yùn)行級(jí)別mulit-user下

systemctl isolate graphical.target在不重啟的情況下,切換到圖形界面下

6、使用systemctl分析各服務(wù)之前的依賴關(guān)系

命令格式:

systemctl list-dependencies[unit][–reverse]

–reverse是用來(lái)檢查尋哪個(gè)unit使用了這個(gè)unit

應(yīng)用舉例:

#獲得當(dāng)前運(yùn)行級(jí)別的target[root@www ~]# systemctl get-defaultmulti-user.target#查看當(dāng)前運(yùn)行級(jí)別target(mult-user)啟動(dòng)了哪些服務(wù)[root@www ~]# systemctl list-dependenciesdefault.target├─abrt-ccpp.service├─abrt-oops.service├─vsftpd.service├─basic.target│ ├─alsa-restore.service│ ├─alsa-state.service.....(中間省略).....│ ├─sockets.target│ │ ├─avahi-daemon.socket│ │ ├─dbus.socket.....(中間省略).....│ ├─sysinit.target│ │ ├─dev-hugepages.mount│ │ ├─dev-mqueue.mount.....(中間省略).....│ └─timers.target│? └─systemd-tmpfiles-clean.timer├─getty.target│ └─getty@tty1.service└─remote-fs.target#查看哪些target引用了當(dāng)前運(yùn)行級(jí)別的target[root@www ~]# systemctl list-dependencies --reversedefault.target└─graphical.target

7、關(guān)閉網(wǎng)絡(luò)服務(wù)

在使用systemctl關(guān)閉網(wǎng)絡(luò)服務(wù)時(shí)有一些特殊 需要同時(shí)關(guān)閉unit.servce和unit.socket

使用systemctl查看開(kāi)啟的sshd服務(wù)

[root@www system]#? systemctl list-units --all | grep sshdsshd-keygen.service loaded inactive dead? ? ? ? OpenSSH Server Key Generationsshd.service? ? ? ? loaded active? running? ? OpenSSH server daemonsshd.socket? ? ? ? loaded inactive dead? ? ? ? OpenSSH Server Socket

可以看到系統(tǒng)同時(shí)開(kāi)啟了sshd.service和sshd.socket, 如果只閉關(guān)了sshd.service那么sshd.socket還在監(jiān)聽(tīng)網(wǎng)絡(luò),在網(wǎng)絡(luò)上有要求連接 sshd 時(shí)就會(huì)啟動(dòng)sshd.service。因此如果想完全關(guān)閉sshd服務(wù)的話,需要同時(shí)停用sshd.service和sshd.socket。

systemctl stop sshd.service

systemctl stop sshd.socket

systemctl disable sshd.service sshd.socket

由于centos 7.x默認(rèn)沒(méi)有安裝net-tools,因此無(wú)法使用netstat 來(lái)查看主機(jī)開(kāi)發(fā)的商品。需要通過(guò)yum安裝來(lái)獲得該工具包:

yum -y install net-tools

查看是否關(guān)閉22端口

netstat -lnp |grep sshd

8、關(guān)閉防火墻firewall

Centos 7.x 中取消了iptables, 用firewall取而代之。要關(guān)閉防火墻并禁止開(kāi)機(jī)啟動(dòng)服務(wù)使用下面的命令:

systemctl stop firewalld.service

systemctl disable firewalld.service

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容