一、原理

 #!/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开机自启动脚本编写相关推荐

  1. CentOS7 开机自启动脚本 chkconfig方式

    Linux设置自启动 sysv-rc-conf - Linux设置开机自动启动 CentOS7 开机自启动脚本 chkconfig方式 chkconfig 设置开机自启动 注意点 自启动脚本放置路径: ...

  2. 麒麟V10sp1轻松设置开机自启动脚本

    大家有没有经常碰到每次开机都需要花费5分钟去手动运行某个脚本的情况,是不是偶尔懒的动手,想开机之后自动运行.比如开机自动新建文件,自动清垃圾,自动打开qq,自动打开微信,自动打开浏览器,自动发送邮件诸 ...

  3. centos开机自启动脚本死循环无法开机解决

    问题: 想写个自启动脚本偷个懒,发现重启之后没有进程,想到可能是脚本里程序执行太快,就写了个死循环测试下,然后偷懒不干了. 设置开机自启动: # 编写一个简单的脚本,刚开始没执行,测试用的 echo ...

  4. [Android]开机自启动脚本和selinux权限配置

    概述 在前段时间的工作中,需要开发一个开机自动启动的脚本,现把开发过程记录一下 主要框架 编写一个可以开机自动启动的脚本,方法就是通过rc文件,在boot_complete=1时,去启动这个服务,那么 ...

  5. linux开发板开机自启动脚本,linux 添加开机自启动脚本

    Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法. 1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容 ...

  6. linux使用开机自启动脚本

    如何开机自执行命令 当我们每次开机都需要自己手动敲出命令时,我们会感觉到非常的麻烦(比如nfs挂载).特别是在嵌入式linux开发中,时常常需要开发板和虚拟机之间使用nfs文件互传或者根文件系统挂载的 ...

  7. 开机自启动脚本_Linux配置开机自启动执行脚本的两种方法

    代码来源:oschina 原文作者:醉生梦死zsms 原文链接:https://my.oschina.net/u/3285916/blog/1622358 本文版权归原作者所有,如有侵权请立即与我联系 ...

  8. bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...

    内容概要 cuda+cudnn+python环境安装 ubuntu18的开机自启动脚本 screen服务开启 以我个人的实践来看,把python开发的算法封装成webserver的服务供前端程序调用是 ...

  9. linux添加开机自启动脚本

    一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.lo ...

  10. 树莓派Raspberry Pi OS开机自启动脚本

    树莓派Raspberry Pi OS开机自启动脚本 1. 需求和来源 2. 后台运行Python 3. 运行Terminal 1. 需求和来源 想让设备开机后就要运行Python工程文件 那么需设置l ...

最新文章

  1. Java学习总结:23
  2. 在 Cent OS 6.5 中安装桌面环境
  3. 信号与系统参考书推荐
  4. 智能指针引用计数器版
  5. Java黑皮书课后题第5章:*5.51(最长的共同前缀)编写一个程序,提示用户输入两个字符串,显示两个字符串最长的共同前缀
  6. NSLog中格式符列表
  7. 马士兵 redis 百度网盘_西甲周六攻略:巴萨 马竞 塞维利亚出战
  8. python时间格式转换为美式日期_如何将日期时间格式的排列转换为python中的打印?...
  9. 抽象工厂模式java_Java描述设计模式(04):抽象工厂模式
  10. 第三方平台也能为未微信认证的订阅号调用自定义菜单接口和素材管理接口
  11. 怎么在html中加横条,如何在HTML中插入一行?html横线标签hr全新讲解
  12. JavaScript中尺寸、坐标
  13. 阵列信号处理及matlab实现_球形麦克风阵列设计
  14. 微信订阅号改版,我有这些看法
  15. 2022高等代数笔记整理
  16. python层次分析法案例_在R语言中使用层次分析法-案例1
  17. drupal7 分页
  18. php msvcr110,安装PHP时计算机错误丢失了msvcr110.dll
  19. 高德地图自定义点标记大小_高德地图 自定义点标记 图标大小
  20. 什么是蜘蛛池的搜索留痕技术

热门文章

  1. excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
  2. ArcBlock 博客 | 区块链和数据库:致虚极,守静笃
  3. centos7 rpm安装时报警 Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
  4. 使用数据驱动进行配对交易:简单交易策略
  5. js 条码枪扫描_JavaScript 扫描枪使用(一)
  6. cad插入块_CAD施工制图常见问答(一)
  7. 华为鸿蒙16号开发大会,刚刚!华为2019年开发者大会,鸿蒙系统正式雄起
  8. MBE风格图标3步速学教程
  9. iOS 基础入门--Bull' Eye 小游戏 
  10. 软件工程课程设计-ch小说网站