centos7中systemd初始化進程服務
文章目錄
一、Linux操作系統啓動過程
- 從BIOS啓動 Boot Loader
- 引導Linux系統內核,進行內核初始化
- 開啓初始化進程服務
在 RHEL6版本中,開啓初始化進程服務是由 system V init 完成的
在 RHEL7版本中,開啓初始化進程服務是由 systemd 完成的
由於初始化進程服務的改動,
使RHEL7中系統運行級別,服務的啓動管理 和 自啓動管理,與RHEL6版本中的有些許不同
二、runlevel VS target
運行級別runlevel(在RHEL6中) | target(在RHEL7) | 作用 |
---|---|---|
0 | runlevel0.target poweroff.target | 關機 |
1 | runlevel1.target recue.target | 單用戶模式,類似於window的安全模式 |
2 | runlevel2.target multi-user.target | 多用戶字符命令模式 |
3 | runlevel3.target multi-user.target | 多用戶字符命令模式 |
4 | runlevel4.target multi-user.target | 多用戶字符命令模式 |
5 | runlevel5.target graphical.target | 多用戶圖形模式 |
6 | runlevel6.target | 重啓 |
emergency | emergency.target | 緊急shell |
三、systemctl管理服務的啓動、重啓、停止、重載、狀態顯示
service(RHEL6) | systemctl(RHEL7) | 作用 |
---|---|---|
service foo start | systemctl start foo.service(service可省略) | 開啓服務 |
service foo restart | systemctl restart foo.service | 重啓 |
service foo stop | systemctl stop foo.service | 停止 |
service foo reload | systemctl reload foo.service | 重載,重新讀取配置文件但不停止服務 |
service foo status | systemctl status foo.service | 查看特定服務的運行狀態 |
四、systemctl設置服務的開機自啓動,不啓動,查看系統各級別下服務啓動狀態
chkconfig(RHEL6) | systemctl(RHEL7) | 作用 |
---|---|---|
chkconfig foo on | systemctl enable foo.service | 設置服務開機自啓 |
chkconfig foo off | systemctl disable foo.service | 設置服務開機不自啓 |
chkconfig foo | systemctl is-enabled foo.service | 查看特定服務是否爲開機自啓動 |
chkconfig --list | sysremctl list-unit-files --type=service | 查看各個級別下服務的啓動與禁用情況 |
foo.service 術語foobar是一個常見的無名氏化名,常被作爲“僞變量”使用 ,還以爲foo真的是什麼服務,發發發發。