其实它在内部是调用 procd_open_trigger、procd_add_config_trigger 和 procd_close_trigger 这3个函数来增加触发器。 procd_open_instance、procd_set_param、procd_close_instance函数 通常这3个函数在一起使用 procd_open_instance:开始增加一个服务实例。 procd_set_param:设置服务实例的参...
(3)procd_close_instance 完成进程实例的增加。 vim /etc/init.d/zdetect #!/bin/sh /etc/rc.common USE_PROCD=1 START=88 STOP=92 start_service() { procd_open_instance procd_set_param command /usr/bin/zdetect procd_set_param respawn [ -e /proc/sys/kernel/core_pattern ] && { procd_set...
修改/etc/init.d/dockerd使用procd_set_param env设置环境变量 原脚本: start_service() { local nofile=$(cat/proc/sys/fs/nr_open) process_config procd_open_instance procd_set_param stderr1if[ -z"${DOCKERD_CONF}"];thenprocd_set_param command/usr/bin/dockerdelseprocd_set_param command/usr...
procd 就是这样一个进程,它是使用C语言编写的,一个新的 OpenWrt 进程管理服务。它通过init脚本来将进程信息加入到 procd 的数据库中来管理进程启动,这是通过ubus总线调用来实现,可以防止进程的重复启动调用。 procd 的进程管理功能主要包含 3 个部分。 reload_config,检查配置文件是否发生变化,如果有变化则通知 proc...
13 procd_open_instance # 创建一个实例, 在 procd 看来一个应用程序可以多个实例 14 # ubus call service list 可以查看实例 15 procd_set_param command $PROG # mycode执行的命令是"/app/mycode", 若后面有参数可以直接在后面加上 16 procd_set_param respawn # 定义respawn参数,告知procd当mycode程序退出...
start_service(){localnofile=$(cat /proc/sys/fs/nr_open)process_config procd_open_instance procd_set_param stderr1if[-z"${DOCKERD_CONF}"];thenprocd_set_paramcommandenvHTTP_PROXY=http://192.168.1.33.8080HTTPS_PROXY=http://192.168.1.33.8080 /usr/bin/dockerdelseprocd_set_paramcommandenvHTT...
#!/bin/sh /etc/rc.common START=90 STOP=90 SERVICE=app USE_PROCD=1 start_service() { procd_open_instance procd_set_param command /usr/sbin/app procd_set_param
procd_open_instance#创建一个实例, 在procd看来一个应用程序可以多个实例 procd_set_param command /bin/sh"/var/xxx.sh"#执行命令行,若后面有参数可以直接在后面加上 procd_set_param respawn#定义respawn参数,告知procd当该程序退出后尝试进行重启 procd_close_instance#关闭实例 ...
需要注意的是 OpenWrt 自 bb(Barrier Breaker) 后引入了该系统,如果您使用 aa 或更早的上古系统,您可能需要使用 sysV 格式写启动脚本 创建一个名为/etc/init.d/natfrpc的文件,内容如下(请注意修改下面的启动参数): #!/bin/sh /etc/rc.commonUSE_PROCD=1START=90start_service(){procd_open_instance Sakur...
1、代码路径:package/system/procd/files/procd.sh 2、Procd相关API函数摘录: procd_open_service(name, [script])=》Initialize a new procd command message containing a service with one or more instances procd_close_service()=》 Send the command message for the service procd_open_instance([name])=...