linux下的系统服务介绍——init、systemd介绍Linux下的系统服务——init,systemd,我们经常听到服务和守护进程这两个词。他们到底是什么意思?他们之间有什么区别和联系吗?linux下的服务是一个驻留在内存中的程序,可以提供一些系统或网络功能。守护进程字面意思是守护进程或后台进程。所以,服务和守护进程可以看成一个东西,不区分。
早期init管理机制
在centOS6中,init的服务管理机制仍然被采用。这里稍微介绍一下,因为有些东西在centOS7中还是可以用的。主要看以下几个特点:
服务的启动、关闭以及状态查看等
启动服务:/etc/init.d/nginx start
服务重启:/etc/init.d/nginx重启
关闭服务:/etc/init.d/nginx停止
检查状态:/etc/init.d/nginx状态
服务启动方式
独立启动:大部分服务都采用这种模式,比如常见的mysqld、php-fpm、nginx、httpd等服务。
由超级守护进程托管和启动:这些服务由另一个服务启动,托管这些服务的服务成为超级守护进程。常见的supuer守护程序包括inetd和xinetd
执行等级
linux上有七个执行级别,分别是0、1、2、3、4、5和6。常用的有
1种单一维护模式
3纯文本模式
5图形模式
每个执行级别的启动脚本是链接到/etc/init.d/daemon到/etc/rc [0-6]。d/snn守护程序。
ll /etc/rc3.d/S55nginx
lrwxrwx 1 root root 15 sep 21 11:30/etc/rc3 . d/s55 nginx-./init.d/nginxs表示开始的意思,NN表示数字,表示脚本的执行顺序,数字越小执行的越早。这个执行顺序可以很好地管理服务的依赖关联。
开机自启服务
引导自引导:deamon上的chkconfig
关闭并打开自启动:chkconfig关闭deamon
检查服务是否已启动:chkconfig-listdaemon
systemd管理机制
自centos7以来,以前的init管理机制已被放弃,取而代之的是systemd。让我们看看系统管理有什么不同。
平行处理所有服务,加快开机流程。
与init逐个启动服务不同,systemd可以同时启动多个服务。所以这样会大大加快开机的等待时间。
解决服务相关性依赖
例如,要启动B服务,必须先启动A服务。此时,使用systemd启动B服务,会自动检查依赖关系,然后在启动B服务之前启动A服务。
unit类型
相对于单机和超级守护进程在init中只有两种启动模式,systemd定义了统一的服务单元,分为服务、套接字、目标、路径、快照、定时器等类型。
向下兼容init的服务脚本
/etc/inid.d/下的旧服务启动脚本也可以通过systemd进行管理。注意:如果/etc/init.d目录中的服务启动脚本是手动启动的,则systemd无法检测到服务的运行状态。
# systemctl状态mysqld
MySQL . service-LSB :启动和停止MySQL
loaded : loaded(/etc/RC . d/init . d/MySQL d;不好;供应商预置:已禁用)
主动:主动(运行)自2020-10-28周三13:26:53 CST1周零5天前
……
# /etc/init.d/mysqld重启
关闭MySQL.[好]
启动MySQL。[好]
[root @李佳~]# systemctl状态mysqld
MySQL . service-LSB :启动和停止MySQL
loaded : loaded(/etc/RC . d/init . d/MySQL d;不好;供应商预置:已禁用)
主动:主动(退出)自2020-10-28周三13:26:53 CST1周零5天前
.关于init和systemd,我们需要掌握systemd,也需要了解init。以上是linux下系统服务介绍——init和systemd的详细内容。请多关注其他关于Lei.com PHP知识的相关文章!