1. 程式人生 > >Centos7中systemd的管理

Centos7中systemd的管理

pass get centos7 systemd emctl efault 解釋 led targe

管理服務

安裝應用在/etc/systemd/system下會生成一系列應用的配置文件等,系統管理員和用戶使用

/usr/lib/systemd/system:發行版打包者使用

時間單位默認是秒,毫秒(ms),分鐘(m)

service unit file文件組成:

[Unit]:描述,依賴關系

Description:描述

After:服務要在After定義的後面的服務啟動之後再啟動,Before正好相反

Requires:必要的依賴關系,依賴於服務的應用

Wants:弱依賴;

Conflicts:沖突關系,這個地方定義的與服務的沖突關系


[Service]:Service類型

Type:會影響Execstart啟動類型,不定義默認為simple

notify:在服務啟動之後會發送通知消息

forking:通過spawns延伸出子進程,父進程關閉;

oneshot:一次性,做完就退出

dbus:取得D-Bus的名稱才能使用,後方還要定義BusName=才行

idle:不緊急的類型,可等待所有啟動完成後再啟動


啟動服務:

systemctl start "服務名稱"(可以同時啟動多個服務)


查看服務狀態:

systemctl status "服務名稱"

-l:查看詳細的啟動過程,如果啟動中出現問題,系統會指出哪一個位置出現了問題

重啟服務:

systemctl restart "服務名稱"


加載配置文件並重啟:

systemctl reload "服務名稱"


禁止手動啟動服務:

systemctl mask "服務名稱" | 關閉此功能:systemctl unmask "服務名稱"


單單查看服務的狀態:

systemctl is-active "服務名稱"(啟動則是active,非啟動為unknow;啟動的服務$0w為0,非啟動$0為1)


查看所有已經啟動的服務:

systemctl list-units -t service


查看所有服務的狀態:

systemctl list-unit-files --type service --all

狀態解釋:

inactive:不運行

enabled:開機啟動

disabled:開機不啟動

static:開機不啟動,也不可手動啟動,但可以被另一個服務啟動


查看服務開機是否啟動

systemctl is-enable "服務名稱"


設置開機啟動

systemctl enable "服務名稱"


關閉開機啟動

systemctl disable "服務名稱"


查看服務所依賴的一系列資源

systemctl list-dependencies "服務名稱"


列出失敗的服務:

systemctl --failed -t service


殺掉服務

systemctl kill "服務名稱"


Centos 7上的chkconfig部分對應的是/lib/systemd/system/*.target

查看當前的默認等級使用systemctl get-default;

修改使用systemctl set-default "/lib/systemd/system/某一個target"


在grub菜單按"e",找到linux16那一行,在最後添加rd.break;ctrl-x啟動

mount -o remount,rw /sysroot

chroot /sysroot

passwd

touch /.autorelabel

exit

reboot


Centos7中systemd的管理