脚本开机启动
vim /etc/init.d/rc.local 文件(Ubuntu)
/etc/rc.d/rc.local或者 /etc/rc.local里(centos),
方法一:
1) 将你的启动脚本复制到 /etc/init.d目录下
Removing any system startup links for /etc/init.d/ap.sh ...
/etc/rc0.d/K95ap.sh
/etc/rc1.d/K95ap.sh
/etc/rc2.d/S95ap.sh
/etc/rc3.d/S95ap.sh
/etc/rc4.d/S95ap.sh
/etc/rc5.d/S95ap.sh
/etc/rc6.d/K95ap.sh
方法二:
Centos 5.x 以前都可以用/etc/rc.local
Centos 6.x 以后改成/etc/rc.d/rc.local
一、/etc/rc.local
这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。
使用命令 vi /etc/rc.local
然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个ap.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行 “/opt/./ap.sh”(注意在 exit 0之前加),或者两行“cd /opt”和“./ap.sh”。
方法三 方法一中添加 : server 脚本 start/stop
建立/etc/init.d/zzxap文本文件,输入下面的内容:
#!/bin/sh case "$1" in start) start-stop-daemon --start --background --exec /etc/init.d/ap.sh #添加脚本位置 ;; stop) start-stop-daemon --stop --name ap.sh #这里不需要加位置 esac
chmod 755 /etc/init.d/zzxap
这样子,就可以使用service命令来启动和关闭进程了,例如启动进程如下:
root@localhost:~# service zzxap start
root@localhost:~# ps aux|grep zzxap
root@localhost:~# service zzxap stop root@localhost:~# ps aux |grep zzxap
再
update-rc.d zzxap defaults 99
update-rc.d -f zzxap remove(卸载)
到这里还不能实现开机自启动 要接着设置第一步骤
背景知识
1、运行级别:
Linux系统任何时候都运行在一个指定的运行级上,并且不同的运行级程序和服务都不同,所要完成的工作和要达到的目的也不同,系统可以在这些运行级之间进行切换,来完成不同的工作。
运行级别等级:
- 0 系统停机状态
- 1 单用户模式,只准许root用户对系统进系维护
- 2~5 多用户模式(其中3为字符界面、5为图形界面)
- 6 重启启动
在这里需要注意的是,在Debian下(ubuntu其中之一)level2~5是没有任何区别的。
使用以下命令,可以查看当前的运行级别:
- runlevel
runlevel显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别。
使用以下命令,可以切换运行级别:
- init [123456]
例如,init 0表示关机,init 6表示重启。
2、启动步骤:
- 读取MBR信息,启动Boot Manager,Linux通常使用GRUB作为Boot Manager。
- 加载系统内核,启动init进程。init进程是Linux的根进程,所有的系统进程都是它的子进程。
- init进程读取/etc/inittab文件中的信息,并进入预设的运行级别。在这里需要说下的是,在ubuntu的6.10版本以后,就没有了/etc/inittab文件,是因为inittab已经被update软件包所取代了,具体的可以查看/usr/share/doc/update目录。就不在这里介绍了。
- 执行/etc/rcS.d/目录下的脚本,然后是/etc/rcX.d/目录下的脚本,X代表的是数字0~6。rcS.d和rcX.d目录下的文件都是以,S或K加上两位数字组成的,其中S代表start,K代表kill,而两位数字代表启动顺序,数字越大代表级别越低。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异