openwrt开机自启动脚本编写
一、原理
#!/bin/sh /etc/rc.common指定了执行该脚本的方式(必须)
START=95 代表该脚本的启动顺序为95(注意,不是第95个执行的脚本,而是一个级别)。(数字越小,启动的越早)
start # 启动服务
stop # 停止服务
restart # 重启服务
reload # 重新载入配置文件, 如果失败则重启
enable # 启用开机自启动, 实际上是在/etc/rc.d/下创建S??和K??开头的软链
disable # 禁用开机自启动, 实际上是删除/etc/rc.d/下对应的软链
启动顺序
START= 和 STOP= 决定脚本启动时的次序. 启动时init.d会根据文件名顺序, 自动执行在/etc/rc.d中找到的脚本. 初始化脚本可以作为/etc/init.d/下文件的软链放置在/etc/rc.d/.
enable 和 disable 可以自动帮你创建对应的带序号的软链.
这个例子中START=10 会被链接到 /etc/rc.d/S10example, 启动时执行在START=9之后, 在START=11之前. 而STOP=15会被链接到 /etc/rc.d/K15example, 执行在STOP=14之后, 在STOP=16之前. 同一个启动数字的, 按字母顺序启动.
里面内容介绍
boot(),系统启动时会调用boot()
start_service()
stop_service()
restart()
自定义的服务
EXTRA_COMMANDS="custom"
EXTRA_HELP=" custom Help for the custom command"custom() {echo "custom command"# do your custom stuff
}EXTRA_COMMANDS="custom1 custom2"
EXTRA_HELP=<<EOFcustom1 Help for the custom1 commandcustom2 Help for the custom2 command
EOFcustom1 () {echo "custom1"# do the stuff for custom1
}
custom2 () {echo "custom2"# do the stuff for custom2
}
procd风格的init启动
procd init脚本与sysv风格的启动脚本区别在于
procd方式下, 服务必须以前台方式运行
不同的shebang line: #!/bin/sh /etc/rc.common
指定procd方式的声明 USE_PROCD=1
#!/bin/sh /etc/rc.commonUSE_PROCD=1
二、编写脚本
在/etc/init.d编写脚本
模板
test
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.orgSTART=95
boot() {# process user commands}start_service() {procd_open_instance#创建一个实例, 在procd看来一个应用程序可以多个实例#ubus call service list 可以查看实例procd_set_param respawn#定义respawn参数,告知procd当binloader程序退出后尝试进行重启procd_set_param command "$BINLOADER_BIN"# binloader执行的命令是"/usr/bin/binloader", 若后面有参数可以直接在后面加上procd_close_instance
#关闭实例
}stop_service() {}restart() {stopstart
}
三、开启自动调用
ln -s /etc/init.d/done /etc/rc.d/S95done
删除软链接取消自动调用
或者
/etc/init.d/test enable
/etc/init.d/test disable
openwrt开机自启动脚本编写相关推荐
- CentOS7 开机自启动脚本 chkconfig方式
Linux设置自启动 sysv-rc-conf - Linux设置开机自动启动 CentOS7 开机自启动脚本 chkconfig方式 chkconfig 设置开机自启动 注意点 自启动脚本放置路径: ...
- 麒麟V10sp1轻松设置开机自启动脚本
大家有没有经常碰到每次开机都需要花费5分钟去手动运行某个脚本的情况,是不是偶尔懒的动手,想开机之后自动运行.比如开机自动新建文件,自动清垃圾,自动打开qq,自动打开微信,自动打开浏览器,自动发送邮件诸 ...
- centos开机自启动脚本死循环无法开机解决
问题: 想写个自启动脚本偷个懒,发现重启之后没有进程,想到可能是脚本里程序执行太快,就写了个死循环测试下,然后偷懒不干了. 设置开机自启动: # 编写一个简单的脚本,刚开始没执行,测试用的 echo ...
- [Android]开机自启动脚本和selinux权限配置
概述 在前段时间的工作中,需要开发一个开机自动启动的脚本,现把开发过程记录一下 主要框架 编写一个可以开机自动启动的脚本,方法就是通过rc文件,在boot_complete=1时,去启动这个服务,那么 ...
- linux开发板开机自启动脚本,linux 添加开机自启动脚本
Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法. 1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容 ...
- linux使用开机自启动脚本
如何开机自执行命令 当我们每次开机都需要自己手动敲出命令时,我们会感觉到非常的麻烦(比如nfs挂载).特别是在嵌入式linux开发中,时常常需要开发板和虚拟机之间使用nfs文件互传或者根文件系统挂载的 ...
- 开机自启动脚本_Linux配置开机自启动执行脚本的两种方法
代码来源:oschina 原文作者:醉生梦死zsms 原文链接:https://my.oschina.net/u/3285916/blog/1622358 本文版权归原作者所有,如有侵权请立即与我联系 ...
- bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...
内容概要 cuda+cudnn+python环境安装 ubuntu18的开机自启动脚本 screen服务开启 以我个人的实践来看,把python开发的算法封装成webserver的服务供前端程序调用是 ...
- linux添加开机自启动脚本
一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.lo ...
- 树莓派Raspberry Pi OS开机自启动脚本
树莓派Raspberry Pi OS开机自启动脚本 1. 需求和来源 2. 后台运行Python 3. 运行Terminal 1. 需求和来源 想让设备开机后就要运行Python工程文件 那么需设置l ...
最新文章
- AI基础:数据增强方法综述
- JS语法字典---网友总结
- 【算法07】求子数组的最大和
- 数据存储与访问之——初见SQLite数据库
- MySql存储过程总结
- zotero 相关文章链接 (侵权请联系,立即删除)
- Siemens 软件下载
- 如何让一个未知宽高的div垂直居中
- u盘是传播计算机病毒的媒介,u盘病毒有几种传播方式
- 被称为偏执的企业家,他成功跻身中国民企500强
- FPGA之VGA转HDMI之并行串行转换模块编写
- 静态链接之与静态库的链接
- 第六章:项目管理的三要素
- 【机器学习】实战系列
- 说大数据杀熟,这锅可不背!
- 可以听歌玩游戏看股票背单词的ROS开发工具?小鱼:就差能点外卖了~
- ERP、PLM是什么意思?ERP、PLM有什么内在联系
- c++ 三次多项式拟合_从寻找谷神星的过程,谈最小二乘法实现多项式拟合
- Mission Planner初学者安装调试教程指南(APM或PIX飞控)3——连接与烧录
- android 启动页大小,android引导页大图