当前位置: 首页 > Linux

Linuxinitservicesystemd

时间:2023-04-06 02:22:38 Linux

init的区别与关系在类Unix计算机操作系统中,Init(initialization的简称)是计算机中第一个启动的进程。Init是一个守护进程,它持续运行直到系统关闭。它是所有其他进程的直接或间接父进程。因为init的参数都在/etc/init.d目录下,所以使用init来启动一个服务,应该这样做:$sudo/etc/init.d/nginxstartserviceservice是运行SystemVinit的脚本命令.SystemVinit是/etc/init.d目录中的一个参数。service就是到/etc/init.d目录下执行相关程序,service配置文件存放目录为/etc/init.d。使用service来启动一个服务,你应该这样做:$servicenginxstart可以理解为service是init.d的一个实现。所以和init没有区别。这两种方法都有以下缺点:启动时间长。init进程是串行启动的,直到上一个进程启动后才会启动下一个进程。启动脚本很复杂。init进程只执行启动脚本,不关心其他事情。脚本需要自己处理各种情况,这往往使得脚本很长。systemdSystemd就是为解决这些问题而诞生的。它包括系统和服务管理器,为系统启动和管理提供完整的解决方案。Systemd是Linux系统中最新的初始化系统(init)。它的主要设计目的是为了克服SystemVinit的先天不足,提高系统的启动速度。Systemd这个名字的意思是它守护着整个系统。有了Systemd,就不再需要使用init了。systemd取代initd(ini??td的PID为0)成为系统的第一个进程(systemd的PID为1),其他进程都是它的子进程。Systemd的优点是功能强大,使用方便,缺点是系统庞大,非常复杂。查看Systemd的版本信息:$systemctl--version使用systemd进行系统管理systemd不是一个命令,而是一组命令,涉及系统管理的方方面面。systemctl是Systemd的主要命令,用于管理系统。hostnamectl用于管理当前主机设置。localectl用于管理本地化设置。timedatectl用于管理当前时区设置。