linux init.d 和服务

Linux 启动步骤

linux在进入init时要经过几个步骤,服务器启动时流程

服务器加电自检→加载内核→驱动硬件→启动进程→读取配置

firmware→boot/oader→kernel→执行init脚本→读取/etc/inittab配置文件→/etc/rc.d/init.d目录→/etc/rc.d/rcN.d (N=0-6)→用户登录

 

1. 内核起来调用 linux 的 init脚本 /sbin/init

2. init 程序读取 inittabe 脚本 /etc/inittab 

3. 运行/etc/rc.d/ 目录下的 init.d目录下脚本。

3. 运行/etc/rc.d/ 目录下与运行级别相对应的 rcX.D 目录下的脚本

 

 

init脚本 介绍

init脚本是Linux系统操作中不可缺少的程序之一。

所谓的init进程,它是一个由内核启动的用户级进程。

内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。

内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。

 

/etc/init.d 目录介绍

/etc/init.d 是 /etc/rc.d/init.d 目录的连接文件。

init.d目录下脚本的执行方式为

/etc/initi.d/command OPTION

例如 service vsftpd start  和 /etc/init.d/vsftpd start 有同样的作用

service xxx 启动 /etc/init.d/ 目录下的xxx脚本

 

service和chkconfig结合使用,chkconfig 可以设置服务开机自启动。

# 启动sshd服务 service sshd start

# 设置sshd服务开机启动 chkconfig sshd start

 

systemd命令介绍


centos7版本中使用了systemd,systemd同时兼容service,对应的命令就是systemctl
Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度
使用systemd的目的是获取更快的启动速度。
为了减少系统启动时间,systemd的目标是
尽可能启动较少的进程
尽可能将更多进程并发启动
可以去查看系统进程的pid,initd的pid是0,如果支持systemd的系统的systemd进程pid为1

systemd把不同的资源称为Unit
每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit
存放目录:/etc/systemd/system  和 /usr/lib/systemd/system

对于有先后依赖关系的任务
systemctl融合service和chkconfig功能
 

 

### 回答1: Linux init.d是一个目录,包含了系统启动时需要执行的脚本文件。这些脚本文件通常用于启动、停止、重启系统服务。在Linux系统中,init.d目录通常位于/etc目录下。系统启动时,会自动执行init.d目录下的脚本文件,以确保系统服务能够正常运行。用户也可以手动执行这些脚本文件,以启动、停止或重启系统服务。 ### 回答2: Linux中的init.d是一个目录,其路径通常是/etc/init.d,其中包含有系统启动时需要执行的脚本文件。这些脚本文件一般都是服务或应用程序的启动脚本,用于在系统引导时启动它们。 在Linux系统中,init.d脚本文件的作用类似于Windows系统中的服务,是系统中的后台进程,可以在系统启动时自动运行。通常这些脚本文件包含启动、停止和重启操作,以及其他管理必要的操作。 init.d脚本文件包括了许多不同的服务和程序,例如网络服务器、虚拟专用网络服务、DNS服务、文件传输协议服务、邮件服务、搜索引擎、数据库以及其他自定义的脚本。这些脚本文件通常使用开源或自由软件协议进行许可,并由各种开发人员和社区组织开发和维护。 在Linux系统中,init.d脚本文件可以通过启动、停止和重新启动命令来控制。这些命令在不同的Linux发行版中可能不太相同,但通常包括以下两个通用命令: 1. service:用于管理和控制已安装的服务。 2. systemctl:用于与系统管理服务进行交互,包括启动、停止、重启服务和到达一个特定的运行级别。 在总体上,init.d脚本提供了一种方便的方法来在系统启动时自动启动Linux应用程序和服务。但是,现代Linux操作系统已经有了更好的机制来启动和管理服务,如systemd、upstart等。这些机制为Linux系统的服务管理提供了更加高级和集成化的解决方案。 ### 回答3: Linux init.d是一个服务管理工具,在Linux操作系统中用于启动,停止和重启系统服务init.d是Linux操作系统中的一个老式系统,一般用于管理系统服务,具有简单,高效和稳定的特性。 在Linux系统中,每个服务都由一个脚本文件控制。使用init.d,可以在系统启动时自动启动这些服务。此外,init.d脚本还可以用于手动启动,停止服务以及重载配置。这使得系统管理员可以非常方便地管理系统服务,并避免了手动维护服务的困难和风险。 init.d工具还提供了不同的运行级别,用于指定不同的系统状态下需要运行的服务。例如,运行级别2指定了多用户、图形化的启动,而运行级别3是文本模式的启动。管理员可以根据需要配置和管理不同运行级别下需要运行的服务。 在init.d脚本中,通常包含了一些关键配置信息,例如服务名称,配置文件路径,启动命令等。管理员可以根据需要修改配置信息或添加新的脚本文件。这样可以方便地添加新的服务和自定义服务的运行方式。 总之,Linux init.d是一个非常重要和有用的服务管理工具,可以帮助系统管理员管理和维护系统服务,提高系统的可靠性和稳定性。如果您是一名Linux系统管理员,建议您深入学习init.d,并熟练掌握其使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值