关于linux开机自启动

1、系统启动流程

在这里插入图片描述

2、 init、 inittab、 init.d、 rcx.d

在这里插入图片描述

/etc/inittab是Linux系统中的一个配置文件,用于定义系统的运行级别和相应的操作。其语法格式如下:

标签:运行级别:操作:进程
label:runlevel:action:process

下面是对每个部分的解释:

  • 标签(label):用来标识配置项的唯一标识符,表示输入的值。
  • 运行级别(runlevel):定义了系统的不同工作模式或状态,共有7个运行级别(0到6)。
  • 操作(action):指定了在特定运行级别下要执行的操作。
  • 进程(process):表示要执行的进程。

以下是对runlevel运行级别的解释:

  • runlevel 0:系统停机状态,不能设为默认运行级别,否则系统无法正常启动。
  • runlevel 1:单用户工作模式,只有root权限,用于系统维护,禁止远程登录。
  • runlevel 2:多用户工作模式(不支持NFS),命令行模式登录。
  • runlevel 3:完全的多用户工作模式(包括NFS),命令行模式登录。
  • runlevel 4:保留,未使用的模式。
  • runlevel 5:X11图形模式,登录后进入图形GUI模式。
  • runlevel 6:系统正常关闭并重启,不能设为默认运行级别,否则系统无法正常启动。

每个配置项的操作(action)可以是以下之一:

  • boot:只在系统启动时运行。
  • bootwait:在系统启动时运行,系统启动后,当第一次从单用户模式进入多用户模式时处理该记录项。
  • sysinit:在运行boot或bootwait进程之前运行,指定的进程在访问控制台之前执行。
  • respawn:不管何时终止都重新启动进程,每当相应的进程终止执行,它会被重新启动。
  • shutdown:在关机时要运行的进程。
  • ctrlaltdel:当按下Ctrl+Alt+Del三个键同时按下时运行。
  • wait:告诉init必须等到相应的进程完成之后才能继续执行。

最后,进程(process)部分表示要执行的具体进程。

在这里插入图片描述

[root@cambricon ~]# cat /etc/inittab 

# Startup the system
::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
#::sysinit:/etc/init.d/rcS
::wait:/etc/rc.sysinit
::wait:/etc/init.d/rcS
::shutdown:/etc/init.d/rcK
console::respawn:-/bin/sh

这段代码是/etc/inittab文件的示例内容,用于初始化和配置系统启动过程中的各个步骤。下面是对每一行的解释:

  1. ::sysinit:/bin/mount -t devtmpfs devtmpfs /dev:在系统初始化阶段,挂载devtmpfs文件系统到/dev目录,提供设备节点。
  2. ::sysinit:/bin/mount -t proc proc /proc:同样在系统初始化阶段,挂载proc文件系统到/proc目录,提供进程信息。
  3. ::sysinit:/bin/mount -o remount,rw /:在系统初始化阶段,重新以读写模式挂载根文件系统。
  4. ::sysinit:/bin/mkdir -p /dev/pts:在系统初始化阶段,创建/dev/pts目录,用于伪终端支持。
  5. ::sysinit:/bin/mkdir -p /dev/shm:在系统初始化阶段,创建/dev/shm目录,用于共享内存支持。
  6. ::sysinit:/bin/mount -a:在系统初始化阶段,自动挂载其他文件系统。
  7. ::sysinit:/bin/hostname -F /etc/hostname:在系统初始化阶段,根据/etc/hostname文件设置主机名。
  8. # now run any rc scripts:注释,表示接下来要运行任何rc脚本。
  9. #::sysinit:/etc/init.d/rcS:注释掉的行,表示在系统初始化阶段运行rcS脚本。
  10. ::wait:/etc/rc.sysinit:等待,然后运行/etc/rc.sysinit脚本。
  11. ::wait:/etc/init.d/rcS:等待,然后运行/etc/init.d/rcS脚本。
  12. ::shutdown:/etc/init.d/rcK:在系统关闭时运行/etc/init.d/rcK脚本。
  13. console::respawn:-/bin/sh:创建一个控制台会话,如果终止则重新启动,并使用/bin/sh作为默认shell。

这些配置项定义了系统启动过程中的各个步骤和要执行的命令或脚本。它们确保系统在启动和关闭时按照特定的顺序进行必要的初始化和清理操作

以S开头的为start,以K开头的为kill
S+数字+字母
数字小的先执行,字母小的先运行
在这里插入图片描述

启动流程的操作
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/231941.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 任务并行类库Parallel调用示例

写在前面 Task Parallel Library 是微软.NET框架基础类库(BCL)中的一个,主要目的是为了简化并行编程,可以实现在不同的处理器上并行处理不同任务,以提升运行效率。Parallel常用的方法有For/ForEach/Invoke三个静态方法…

Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

报错: OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performan…

SpringSecurity6 | 自定义认证规则

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

docker-compose安装教程

1.确认docker-compose是否安装 docker-compose -v如上图所示表示未安装,需要安装。 如上图所示表示已经安装,不需要再安装,如果觉得版本低想升级,也可以继续安装。 2.离线安装 下载docker-compose安装包,上传到服务…

Shell数组函数:数组——数组和循环(四)

使用数组统计&#xff0c;用户shell的类型和数量 一、脚本编辑 [root192 ~]# vim shell.sh #!/bin/bash declare -A shells while read ii dotypeecho $ii | awk -F: {print $7}let shells[$type] done < /etc/passwdfor i in ${!shells[]} doecho "$i: ${shells[$i]…

求Sn=m+mm+mmm+...+mm..mmm(有n个m)的值

题目&#xff1a;求 的值 一、做这个题我们其实可以直接一个for求解&#xff1a; a,aa,aaa...我们很容易知道它们后一项与前一项的关系就是&#xff1b; public static void Sum(int m,int n){long sum 0L;long curAn 0;for (int i 0; i < n; i){curAn m 10* curAn;/…

MATLAB离线附加功能包下载与安装教程

MATLAB离线附加功能包下载与安装教程 本文介绍如何下载与安装MATLAB离线附加功能包,便于大家更加高效的使用MATLAB。 目录 MATLAB离线附加功能包下载与安装教程一、下载1. 获取MATLAB试用版账号2. 使用MATLAB Online搜索所需要的资源包3. 下载所需要的资源包二、安装由于不是…

uniapp 微信小程序连接蓝牙卡死 uni.onNeedPrivacyAuthorization

解决方法&#xff0c;需要同意隐私保护协议&#xff0c;否则不能开启蓝牙权限和定位权限&#xff0c;会导致连接蓝牙失败

2024考研数学二备考历程

GoodNotesGoodNotes apphttps://share.goodnotes.com/s/bhsraJMZ6OJwuYJb3OWnzP

【教3妹学编程-算法题】需要添加的硬币的最小数量

3妹&#xff1a;2哥2哥&#xff0c;你有没有看到新闻&#xff0c; 有人中了2.2亿彩票大奖&#xff01; 2哥 : 看到了&#xff0c;2.2亿啊&#xff0c; 一生一世也花不完。 3妹&#xff1a;为啥我就中不了呢&#xff0c;不开心呀不开心。 2哥 : 得了吧&#xff0c;你又不买彩票&…

pycharm debug的时候变量显示不出来,一直Collecting data...问题解决

问题描述&#xff1a; 如图所示&#xff1a;一直加载不出来变量&#xff0c;显示Collecting data 解决办法&#xff1a; 在setting中给下图中的选项打勾 这下就可以了。 应该是调试时候有线程冲突&#xff0c;具体我也不太懂。

TP5上传图片压缩尺寸

图片上传&#xff0c;最简单的就是&#xff0c; 方法一&#xff1a; 修改上传限制&#xff0c;不让上传大于多少多少的图片 改一下size即可&#xff0c;默认单位是B换算成M还需要除以两次1024 方法二&#xff1a; 对上传的图片进行缩放&#xff0c;此办法网上找了不少的代码…

C#基础面试题集

C#基础 1. 简述值类型和引用类型有什么区别2. C# String类型比 stringBuilder 类型的优势是什么?3.面向对象的三大特点4.请简述private&#xff0c;public&#xff0c;protected&#xff0c;internal的区别5.结构体和类6.请描述Interface与抽象类之间的不同7.在类的构造函数前…

智能优化算法应用:基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鲸鱼算法4.实验参数设定5.算法结果6.参考文献7.MA…

Orcal数据库Schema理解、表分区理解

目录 1 Schema1.1 Orcal数据库示例1.2 MySQL数据库示例 2 Orcal表分区2.1 创建表分区2.2 查看表分区2.3 查看指定分区数据 此前未了解过Schema的概念&#xff0c;仅知道Orcal数据库比较侧重这个概念&#xff0c;搜遍全网都&#xff0c;都是啰哩吧嗦的搬抄定义&#xff0c;特此在…

(JSP)EL——优化登录界面,获取对象,获取数据

EL优化登录界面 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://"request.getServerName()":"reques…

电源小白入门学习3——电源系统常见元件选型MOS管、二极管、电感篇

电源小白入门学习3——电源系统常见元件选型MOS管、二极管、电感篇 MOS管二极管电感 书接上文&#xff0c;上一期我们讲了电阻、电容选型中需要注意的事项&#xff0c;下面我们接着来介绍MOS管和二极管。 MOS管 关于MOS管的基本原理和内部的一些结构&#xff0c;PN结、半导体的…

分布式架构原理与实践读书笔记

分布式架构原理与实践读书笔记 IT 软件架构的更迭&#xff1a;从单体架构&#xff0c;到集群架构&#xff0c;到现在的分布式和微服务架构。 分布式架构具有分布性、自治性、并行性、全局性等特点。 为了应对请求的高并发和业务的复杂性&#xff0c;需要对应用服务进行合理拆…

用Rust刷LeetCode之27 移除元素

27. 移除元素 难度: 简单 原描述: 新描述: func removeElement(nums []int, val int) int { for i : 0; i < len(nums); i { if nums[i] val { nums append(nums[:i], nums[i1:]...) i-- } } return len(nums)} Rust 版本 下面这种写法编译无法通过: pub fn remove_…

标准成本核算基础知识 - 了解成本构成结构 - Part3

原文地址:Basics of Standard Costing – Understanding the Cost Component Structure-Part 3 | SAP Blogs 本文档是我的第二份文档http://scn.sap.com/docs/DOC-49167的延续- SAP 标准成本估算基础知识 - 了解成本核算变式 - 该系列的第 2 部分和第 3 部分 本文档解释了成本…