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功能
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值