Linux-开机运行流程

CentOS7开机流程

Linux运行级别

什么是运行级别?运行级别就是操作系统当前正在运行的功能级别,CentOS7开机时会读取软链接文件/etc/systemd/system/default.target指向的运行级别。

# 查看系统中的运行级别

[root@wqh06 ~]# systemctl get-default
multi-user.target

# 设置系统运行级别

[root@wqh06 ~]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@wqh06 ~]# systemctl get-default
graphical.target

[root@wqh06 ~]# systemctl set-default runlevel3.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@wqh06 ~]# systemctl get-default
multi-user.target

System 运行级别 Systemd目标名称 作用
0 runlevel0.target,poweroff.target 关机
1 runlevel1.target,rescue.target 单用户模式
2 runlevel2.target,multi-user.target 多用户模式(无法使用NFS)
3 runlevel3.target,multi-user.target 多用户模式
4 runlevel4.target,multi-user.target 多用户模式(Unused)
5 runlevel5.target,graphical.target 图形界面或桌面模式
6 runlevel6.target,reboot.target 重启

systemd进程管理

systemd的优势

1.最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15...)
2.CentOS7 支持开机并行启动服务,显著提高开机启动效率。
3.CentOS7关机只关闭正在运行的服务,而CentOS6,全部都关闭一次。
4.CentOS7服务的启动与停止不在使用脚本进行管理,也就是/etc/init.d下不在有脚本。
5.CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。

systemd相关文件

相关文件 CentOS6 CentOS7
服务启动脚本存放路径 /etc/init.d /usr/lib/systemd/system
开机自启服务存放路径 /etc/rcN.d /etc/systemd/system/*.target.wants
默认运行级别 /etc/inittab /etc/systemd/system/default.target

systemd启动相关命令

system V init CentOS6 systemd CentOS7 作用
/etc/init.d/nginx start systemctl start nginx 启动nginx服务
/etc/init.d/nginx stop systemctl stop nginx 停止nginx服务
/etc/init.d/nginx status systemctl status nginx 查看服务的启动状态
/etc/init.d/nginx restart systemctl restart nginx 重启服务
/etc/init.d/nginx reload systemctl reload nginx 不停止服务,重新加载nginx配置文件
systemctl is-acvite nginx 判断nginx服务是否存活
systemctl mask nginx 禁止服务运行
systemctl unmask nginx 取消禁止

systemd开机自启动相关命令

system V init CentOS6 systemd CentOS7 作用
chkconfig --list systemctl list-unit-files 查看开机自启的服务
chkconfig nginx on systemctl enable nginx 加入开机自启动
chkconfig nginx off systemctl disable nginx 关闭开机自启动
chkconfig --list nginx systemctl is-enabled nginx 查看指定服务是否被开机自启
chkconfig --add nginx systemctl daemon-reload 当我们手写脚本时让系统认识

systemd服务状态

服务状态 状态说明
loaded 服务单元的配置文件已经被处理
active(running) 服务的一个或多个进程在运行中
active(exited) 一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出)
active(waiting) 服务已经运行但在等待某个事件
inactive 服务没有在运行
enable 服务设定为开机运行
disabled 服务设定为开机不运行
static 服务不能被设定开机启动,但可以由其他服务启动该服务
原文地址:https://www.cnblogs.com/zzzwqh/p/12768580.html