openwrt 中procd
https://wiki.openwrt.org/doc/techref/procd
Procd:Openwrt的进程管理守护进程(process management daemon),它与初始化脚本(/etc/init.d/*)保持联系,当进程相关联的配置文件更改时,会触发procd去重启或启动脚本。Procd代替了原本的Hotplug2。
备注:
Hotplug2执行位于/etc/hotplug.d目录下的脚本。每次接口up或down,都会调用/etc/hotplug.d/iface/目录下的所有脚本,以字母顺序调用。为了遍历,将每个脚本前面加入数字前缀。这就是为什么脚本名字会像这样:10-route, 20-firewall。
如何写一个procd调用的初始化(init)脚本
1、要以下面开头:
#!/bin/sh /etc/rc.common
USE_PROCD=1
2、脚本中需要包含启动进程使用的函数 start_service() 和 停用进程的函数 stop_service() 。
增加触发Procd的
1、在init脚本中增加 service_triggers() 函数。
service_triggers()
{
procd_add_reload_trigger “uci-file-name”
}
其中uci-file-name 对应 /etc/config下面的配置文件。
procd_add_reload_trigger 函数在 procd.sh 脚本中。
2、重新加载更改后的配置文件,调用函数reload_service()
reload_service()
{
echo “Explicitly restarting service, are you sure you need this ?”
stop
start
}
Init 脚本如何起作用
所有的参数都被封装进json,通过ubus传送到procd。
调试
设置 PROCD_DEBUG=1后,可以查看到(procd 调用init脚本时)更多的调试信息。
openwrt 中procd的更多相关文章
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
- OpenWRT中的按键和灯的GPIO控制实现_转
本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯 ...
- 转:openwrt中luci学习笔记
原文地址:openwrt中luci学习笔记 最近在学习OpenWrt,需要在OpenWrt的WEB界面增加内容,本文将讲述修改OpenWrt的过程和其中遇到的问题. 一.WEB界面开发 ...
- 配置树莓派3的openwrt中的网络
在上一篇中讲到openwrt的编译安装: http://www.cnblogs.com/yeqluofwupheng/p/7296218.html 但是烧写进去,启动系统后发现它的默认配置是路由器,所 ...
- Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR
Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-09-27. 启用 mt7621的硬件nat (Newifi ...
- OpenWrt 中查看 Flash RAM CPU 信息
OpenWrt 中查看 Flash RAM CPU 信息 来源 https://blog.csdn.net/mcusun2000/article/details/51130434 硬件: QCA95 ...
- OpenWRT中的按键和灯的GPIO控制实现
基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯所对应的GPIO定义: #define AP121_GP ...
- openwrt network interface(openwrt中的网络接口)
这篇算是对openwrt网络接口的一个翻译吧,源地址:http://wiki.openwrt.org/doc/networking/network.interfaces network的接口类型:物理 ...
- openwrt中防暴力破解shell的脚本
原文:http://www.right.com.cn/forum/thread-124429-1-1.html 原理:1. snort做入侵检测是很好,但是太大太复杂,我们需要轻量化的操作.当对方进行 ...
随机推荐
- C#文件处理
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Linux学习笔记-epoll
#include <sys/epoll.h> epoll是Linux内核的一个系统调用,一种可扩展的I/O事件通知机制,最早在Linux内核2.5.44版本引入. 它的功能是监视多文件描述 ...
- linux下如何查询jdk安装路径
1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localho ...
- java 执行redis的部分方法
@Autowired private RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(R ...
- awakeFromNib、initWithCoder、initWithFrame三者区别
(1)awakeFromNib和initWithCoder:差别awakeFromNib 从xib或者storyboard加载完毕就会调用initWithCoder: 只要对象是从文件解析来的,就会调 ...
- error: a label can only be part of a statement and a declaration is not a statement
GCC: error: a label can only be part of a statement and a declaration is not a statement switch(a){ ...
- 【 Note 】GDB调试
GDB是在linux下的调试功能 命令: 启动文件: 普通调试 gdb 可执行文件 分屏调试 gdb -tui 可执行文件 ->调试: 运行 r 设置断点 b 删除断点 delete 断点编号 ...
- 使用FormData,进行Ajax请求并上传文件
前段时间做了个手机端的图片上传,为了用户体验,用ajax交互,发现了FromData对象,这里有详细解释https://developer.mozilla.org/zh-CN/docs/Web/API ...
- LVM
LVM (简体中文) pvdisplay -v -m命令查看物理分段 Create logical volume from another LV free space PVMOVE(8)
- C# 去除文件和文件夹的只读属性
当我们使用 DirectoryInfo dir = Directory.CreateDirectory(pathName) 创建目录或者创建一个文件后,有时作为临时文件用完以后需要删除掉,使用File ...