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的更多相关文章

  1. OpenWrt中开启usb存储和samba服务

    在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...

  2. OpenWRT中的按键和灯的GPIO控制实现_转

    本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯 ...

  3. 转:openwrt中luci学习笔记

    原文地址:openwrt中luci学习笔记 最近在学习OpenWrt,需要在OpenWrt的WEB界面增加内容,本文将讲述修改OpenWrt的过程和其中遇到的问题. 一.WEB界面开发         ...

  4. 配置树莓派3的openwrt中的网络

    在上一篇中讲到openwrt的编译安装: http://www.cnblogs.com/yeqluofwupheng/p/7296218.html 但是烧写进去,启动系统后发现它的默认配置是路由器,所 ...

  5. Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR

    Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-09-27. 启用 mt7621的硬件nat (Newifi ...

  6. OpenWrt 中查看 Flash RAM CPU 信息

    OpenWrt 中查看 Flash RAM CPU 信息 来源  https://blog.csdn.net/mcusun2000/article/details/51130434 硬件: QCA95 ...

  7. OpenWRT中的按键和灯的GPIO控制实现

    基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯所对应的GPIO定义: #define AP121_GP ...

  8. openwrt network interface(openwrt中的网络接口)

    这篇算是对openwrt网络接口的一个翻译吧,源地址:http://wiki.openwrt.org/doc/networking/network.interfaces network的接口类型:物理 ...

  9. openwrt中防暴力破解shell的脚本

    原文:http://www.right.com.cn/forum/thread-124429-1-1.html 原理:1. snort做入侵检测是很好,但是太大太复杂,我们需要轻量化的操作.当对方进行 ...

随机推荐

  1. Ubuntu中Qt5.7.0无法输入中文

    把libfcitxplatforminputcontextplugin.so复制到安装的Qt目录下的两个文件夹中 sudo apt install fcitx-frontend-qt5 sudo cp ...

  2. weak引用变量是否线程安全

    1.在ARC出现之前,Objetive-C的内存管理需要手工执行release&retain操作,这些极大增加了代码的编写难度,同时带来很多的crash.  同时大量的delegate是unr ...

  3. C# 语言规范_版本5.0 (第20章 附录B_语法)

    A. 语法 此附录是主文档中描述的词法和语法以及不安全代码的语法扩展的摘要.这里,各语法产生式是按它们在主文档中出现的顺序列出的. A.1 词法文法 input: input-sectionopt i ...

  4. CentOS 添加本地yum源

    1 创建保存RPM包的路径: mkdir -p /share/CentOS/7/local/x86_64/RPMS 2 安装createrepo工具 yum install createrepo 3 ...

  5. 面试题-JDBC

    1.什么是JDBC? JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节. 2.解释下驱动(Driver)在JDBC中 ...

  6. AForge.net 使用之录像拍照功能实现

    连接摄像头设备,这里需要引入 AForge.Video; AForge.Video.DirectShow; AForge.Video.FFMPEG; 还需要添加引用,aforge.dll,aforge ...

  7. shrio初体验(1)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #e6427a } p.p2 { margin: 0.0px 0 ...

  8. Unity3DGUI:Window

    #pragma strictvar winRect:Rect=Rect(30,100,150,200);var windowShow:boolean=true;function OnGUI () { ...

  9. c#弱事件(weak event)

    传统事件publisher和listener是直接相连的,这样会对垃圾回收带来一些问题,例如listener已经不引用任何对象但它仍然被publisher引用 垃圾回收器就不能回收listener所占 ...

  10. 面试题-Java基础-集合和数组

    1.Java集合类框架的基本接口有哪些? 集合类接口指定了一组叫做元素的对象.集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序.有的集合类允许重复的键,有些不允许.Java集 ...