一、运行等级
Linux系统有7个运行级别 : runlevel
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 运行级别2:多用户状态(没有NFS)
- 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
二、目录/etc/init.d/
这个目录下定义了许多系统服务的启动和停止脚本(当然还有许多其他的作用,这里不再赘述)
所以我们只需要在这里添加一个脚本来控制你自己需要开机自动的程序或者一些脚本初始化的动作。
脚本也有一定规则,举例如下:
test.sh
启动/usr/sbin/目录下的led.sh和default.sh 也可以写自己的程序都可以
#!/bin/bash
ACTION="$1"
case "$ACTION" in
start)
/usr/sbin/led.sh
/usr/sbin/default.sh
;;
stop)
;;
esac
三、目录/etc/rcx.d/
rcx.d中的x指的是前面提到的运行等级:0、1、2、3、4、5、6
在对应的目录下面定义一个软链接,到init.d的脚本 (一般会选择多个目录rc2.d、rc3.d、rc4.d、rc5.d,也可视启动等级而定)
例如:ln -s ../init.d/test.sh S99test
这就定义了一个名为S99test的文件,软链接到/etc/init.d/test.sh
S99test的名字也有规则
- S指的是test.sh脚本的$1 start (K指的是test.sh脚本的$1 stop)
- 99指的是优先级一般是从01到99(99最低优先级,视情况而定,因为启动可能还有一些依赖。)
- test是名字
四、总结
- /etc/init.d/添加脚本
- /etc/rcx.d/添加软连接到/ect/init.d/的脚本