如何在提交 openwrt 页面后重新启动服务?

我正在尝试编写一个在 openwrt 中更改我编写的应用程序的配置然后重新启动服务的页面。现在,我使用一个简单的“服务”来写到日志中,以查看一旦我点击页面上的“保存和应用”后,它会将时间写入这个文本文件。但是,我认为我错过了什么。我添加了一个到 /etc/config/ucitrack 的部分,如下所示

config app option init gps

不过,老实说,我只是这样做是因为里面的所有其他服务应用程序都这样做了。我的服务初始化脚本如下

#!/bin/sh /etc/rc.common
START=10
start() {
  echo Start
  echo 'date' > ~/test.txt
}
stop(){
  echo Stop
}
reload_service() {
  echo "Restarting"
  stop
  start
}

我编写的页面(使用 cbi)已经读取配置文件然后应用更改。我猜这也会调用 /etc/config/ucitrack 的 init 部分,但我可能错了。我到底错过了什么?

点赞
用户2850818
用户2850818

所以事实证明我的做法是正确的,除了文件路径。我不应该使用家目录下的 "~" 快捷方式,因为我猜测不能确定系统会以哪个用户身份运行脚本。当我将路径更改为完整路径 "/root/test.txt",就可以正常运行了。

2018-06-13 15:11:52