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 list-units --type=service | 查看所有的服务,grep running |
四、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真的是什么服务,发发发发。