OpenWrt的rpcd的使用

 OpenWrt中rpcd比较重要

目前用过的地方有

1. rpcd被uhttpd调用,网页修改配置后 ,由rpcd通知procd调用相应的服务。

2. 可以使用rpcd注册ubus接口,在/usr/libexec/rpcd/目前下,用脚本实现自己的ubus接口,rpcd启动后会遍历/usr/libexec/rpcd/添加ubus。 新添加ubus后,要重启rpcd服务才能生效。

注意:文件名为ubus对象的名字。

openwrt官网的示例,例如 cat /usr/libexec/rpcd/foo

#!/bin/sh

case "$1" in
	list)
		echo '{ "bar": { "arg1": true, "arg2": 32, "arg3": "str" }, "toto": { } }'
	;;
	call)
		case "$2" in
			bar)
				# read the arguments
				read input;

				# optionally log the call
				logger -t "foo" "call" "$2" "$input"

				# return json object or an array
				echo '{ "hello": "world" }'
			;;
			toto)
				# return json object or an array
				echo '[ "item1", "item2", "item3" ]'
			;;
		esac
	;;
esac
加载完成后,可以使用ubus命令调试

$ ubus list -v
...
'foo' @686f0592
	"bar":{"arg1":"Boolean","arg2":"Integer","arg3":"String"}
	"toto":{}
...
$ ubus call -S foo bar '{"arg1": true }'
{{"hello":"world"}}
$ ubus -S call foo toto
{["item1","item2","item3"]}

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值