在redhat7中,已經沒有“運行級別”這個概念了,linux系統在啓動時要進行大量的初始化工作,比如掛載文件系統和交換分區、啓動各類進程服務等,這些都可以看作是一個一個的單元(Unit),systemd用目標(target)代替了System V init 中運行級別的概念,區別如下:
init運行級別 | systemd目標名稱 | 作用 |
---|---|---|
0 | runlevel0.target - poweroff.target | 關機 |
1 | runlevel1.target - rescue.target | 單用戶模式 |
2 | runlevel2.target - multi-user.target | 等同於級別 3 |
3 | runlevel3.target - multi-user.target | 多用戶的文本界面 |
4 | runlevel4.target - multi-user.target | 等同於級別3 |
5 | runlevel5.target - graphical.target | 多用戶的圖像界面 |
6 | runlevel6.target - reboot.target | 重啓 |
emergency | emergency.target | 緊急shell |
如果需要將系統默認運行的目標修改爲“多用戶,無圖形”模式,可以直接用ln 命令把多用戶模式目標文件連接到/etc/systemd/system/目錄:
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
在redhat7上使用systemctl命令管理服務,常用命令:
命令 | 作用 |
---|---|
systemctl start foo.service | 啓動服務 |
systemctl stop foo.service | 停止服務 |
systemctl restart foo.service | 重啓服務 |
systemctl reload foo.service | 重新加載配置文件 |
systemctl status foo.service | 查看服務狀態 |
systemctl enable foo.service | 開機自啓動 |
systemctl disable foo.service | 開機不自啓動 |
systemctl is-enabled foo.service | 查看服務是否爲開機自啓動 |
systemctl list-unit-files --type=service | 查看各個級別下服務的啓動與禁止情況 |