美文网首页
init 进程管理

init 进程管理

作者: _于曼丽_ | 来源:发表于2022-03-04 11:15 被阅读0次

服务与进程

执行一个应用程序(二进制程序),会开启一个或多个进程。有的应用程序对外提供端口号,可以监听端口,等待客户端请求,然后处理用户请求,最后将响应的内容返回给客户端,这样的应用程序称之为服务。

每个服务包含三个部分:

  • 二进制程序:经过编译之后生成的二进制可执行文件。
  • 启动脚本:人工编写的 shell 脚本文件,通过传递简单的参数,管理应用/服务的开启与关闭。
  • 配置文件:启动服务的时候,会读取服务的配置文件,来配置需要的参数。

以 httpd 服务为例:

  • 二进制程序:/usr/sbin/httpd 二进制文件
  • 启动脚本:/etc/rc.d/init.d/httpd shell 脚本文件,可以读写
  • 配置文件:/etc/httpd/conf/httpd.conf apache 配置文件,启动 apache 服务器需要的一些配置项

RunLevel

  • 0 关机
  • 1 单用户模式,比如:破解密码
  • 2 字符界面,但是没有 nfs 这些网络设置
  • 3 字符界面
  • 4 未被使用
  • 5 图形界面
  • 6 重启

常用的级别是 3 和 5。

系统启动流程

  1. 启动 init 进程,PID=1
  2. 查看 /etc/inittab 文件,确定 RunLevel,默认为 3
  3. 查看 /etc/rc.d/rcX.d/ 目录(X 为 RunLevel,比如 rc3.d),找到以 S 开头的启动脚本的软连接
  4. 找到这些软连接对应的 /etc/rc.d/init.d/ 目录中的真实的启动脚本,按顺序执行这些 shell 脚本
  5. 每个启动脚本会调用相应的二进制程序,开启一个或多个进程

相关目录和文件

/etc/rc.d/ 目录:

  • init.d 目录:存放着所有启动脚本
  • rc0.d - rc6.d 目录:存放着对应 RunLevel 启动脚本的软连接,S 开头代表开机启动,K 开头代表开机不启动
  • rc 文件
  • rc.sysinit 文件:时间、网卡、主机名、分区挂载
  • rc.local 文件:系统启动之后,需要额外执行的命令

常用命令

# 查看 httpd 服务在不同 RunLevel 下的开机启动情况
chkconfig --list httpd
# 在所有级别下都设置开机启动 httpd 服务
chkconfig httpd on
# 在 RunLevel 3 级别下设置开机启动 httpd 服务
chkconfig --level 3 httpd on
service httpd start
service httpd stop
service httpd restart
# reload 只重新加载 httpd 服务的配置文件,不关闭 httpd 服务相关的进程
service httpd reload

相关文章

  • init 进程管理

    服务与进程 执行一个应用程序(二进制程序),会开启一个或多个进程。有的应用程序对外提供端口号,可以监听端口,等待客...

  • systemd 进程管理

    systemd 与 init 对比 CentOS 7 用 systemd 取代了 init,来管理系统的进程。 1...

  • Android启动流程

    进程概况 init进程 init进程是Linux第一号进程(pid=1),android系统对于init进程进行了...

  • Android init进程

    android源码学习目录 目录 android init进程 init进程--属性服务器 init进程--ini...

  • Systemctl 命令

    CentOS 7 开始 使用systemd来管理服务进程了 systemd是代替 init 作为父进程(PID=1...

  • Activity启动摘要

    Linux内核启动init进程,init进程中会启动Zygote进程及ContextManager进程,Zygot...

  • 每天一个Linux命令之init

    init命令是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令...

  • Android 应用启动流程 | Activity 启动流程

    Android 系统启动流程启动 init 进程 , init 进程会启动 Zygote 进程Zygote 进程会...

  • Linux回收子进程

    孤儿进程 孤儿进程: 父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为init进程,称为init进程...

  • 启动流程 | ServiceManager

    ServiceManager在init进程启动之后启动,用来管理系统中的service,那么首先理解一下在init...

网友评论

      本文标题:init 进程管理

      本文链接:https://www.haomeiwen.com/subject/xfoprrtx.html