首页 > 系统相关 >linux自启动

linux自启动

时间:2023-04-28 18:47:07浏览次数:37  
标签:启动 linux etc init rc 自启动 local

linux自启动

rc.local文件中添加自启动命令

/etc/rc.d/rc.local 用于用户自定义开机启动程序,可以往里写开机要执行的命令或脚本

[root@localhost ~]$ cat /etc/rc.d/rc.local 
/data/init/restart_game.sh
touch /var/lock/subsys/local

在/etc/init.d目录下添加自启动脚本

linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件
Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。

linux的引导过程和运行级别的概念

/etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行。

Linux的引导过程

系统启动之后,在进入init.d之前的工作:

  • 系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。
  • 内核被加载到内存中之后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。
  • 从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。
  • 内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的用户级程序,完成引导进程。

运行级别(run level)

Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。
init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefault id值,这个值称为运行级别(run-level)。
它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。
这个级别从0到6 ,具有不同的功能。不同的运行级定义如下:

0 停机(千万别把initdefault设置为0,否则系统永远无法启动)
1 单用户模式
2 多用户,没有 NFS
3 完全多用户模式(标准的运行级)
4 系统保留的
5 X11 (x window)
6 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

通过runlevel命令 或者who –r 查看系统运行级别

rc.local服务未启动

通过下面命令查看是否启动,一般rc.local服务是默认启动

[root@localhost ~]# systemctl list-unit-files|grep rc.local
rc-local.service static-------代表已开启,如果是disable,代表未开启

启动rc.local服务

systemctl enable rc-local.service

手动启动一次rc.local,看是否有问题

systemctl status rc-local.service

自动启动服务

systemctl start rc-local.service



标签:启动,linux,etc,init,rc,自启动,local
From: https://www.cnblogs.com/snad/p/17362902.html

相关文章

  • Linux kernel 模块开发&构建学习
    主要是学习下kernel模块的玩法,代码来自社区简单kernel代码hello_world.c#include<linux/init.h>#include<linux/module.h>MODULE_LICENSE("DualBSD/GPL");staticinthello_init(void){printk(KERN_ALERT"Hello,world\n");......
  • Linux 上安装Lua
    Linux上安装Lua $wgethttp://www.lua.org/ftp/lua-5.2.3.tar.gz$tarzxflua-5.2.3.tar.gz$cdlua-5.2.3$makelinuxtest 报错:/usr/lib/gcc/x86_64-neoshine-linux/4.1.2/../../../../lib64/libreadline.so:undefinedreferenceto`PC'/usr/lib/gcc/x86_64-neoshine......
  • linux 7zip压缩软件
    linux7zip压缩软件 yuminstallp7zip  P7ZIP的使用  创建压缩包:7zaa-t7ztest.7z*,此命令将目录中的所有文件压缩到test.7z中。  解开压缩包:7zaXtest.7z,此命令用于将test.7z中的文件提取出来。可使用-t来指明压缩格式。 ......
  • Linux中输入输出重定向中2>&1的使用(转)
    Linux中输入输出重定向中2>&1的使用(转) 实例 1)command2>errfile:command的错误重定向到文件errfile。2)command2>&1|...:command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。3)var=`command2>&1`:command的错误重定向到标准输出,错误和标准输出都赋值给va......
  • Linux安装Nginx
    前言:老规矩,linux安装软件的目录都是data目录 1.进入data目录,创建nginx目录并进入该目录cd/datamkdirnginxcdnginx 2.yum在线安装一些基础环境yuminstallpcreyuminstallpcre-develyuminstallzlibyuminstallzlib-develyuminstallopensslyum......
  • 12 Linux的伙伴系统和SLAB分配器
    伙伴系统: buddy物理内存页面管理算法,最先源自Sun公司的Solaris操作系统;Linux后来也引入了伙伴系统;表示一个物理内存页面:Linux定义了一个page结构体,大量使用了c的union联合体定义结构字段,其大小取决于结构体里面占用内存最大的变量决定;好处是信息量很多,占用内存很少;一个page......
  • 嵌入式Linux的Qt
    链接:https://www.jianshu.com/p/99e620c678dc嵌入式Linux的Qt在嵌入式Linux系统上,可以使用多个平台插件:EGLFS,LinuxFB,DirectFB或Wayland。但是,这些插件的可用性取决于Qt的配置方式。EGLFS是许多主板上的默认插件。如果不合适,请使用QT_QPA_PLATFORM环境变量来请求另一个插件。......
  • paramiko遍历嵌套文件夹上传到linux服务器,并执行sh脚本
    场景:由于工作原因,开发打包后都要上传包到对应linux服务器,并执行对应shell脚本,替换包内配置文件,启动服务。换包频率过于频繁,因此需要实现一种不用打开xshell、xftp的方法,直接将包放在本地文件,双击exe运行所有操作,以节省时间,想到使用python的paramiko、pyinstaller模块实现。功......
  • 记录一下linux-kafka命令
    使用工具:puTTY下载地址:DownloadPuTTY-afreeSSHandtelnetclientforWindowsloginas:rootroot@*******'spassword:Lastlogin:FriApr2814:54:262023from10.10.16.80[root@kafka272c41~]#cd..[root@kafka272c41/]#ls-a....autorelabelbinboot......
  • Linux常用命令
    #uname-a#查看内核/操作系统/CPU信息#head-n1/etc/issue#查看操作系统版本#cat/proc/cpuinfo#查看CPU信息#hostname#查看计算机名#lspci-tv#列出所有PCI设备#lsusb-tv#列出所有USB设备#lsmod#列出加载的内核模块#env#查看环境变量#free-m#查看......