linux - 提交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 部分,但我可能是错的。我到底在这里错过了什么?
解决方案
所以事实证明我做对了,除了文件的路径。我不应该使用主页“~”快捷方式,因为我想你不能确定系统将作为哪个用户运行脚本。当我将路径更改为完整的“/root/test.txt”时,它工作得很好。
推荐阅读
- uwp - 设置设置弹出方向
- mysql - 如何在 mysql 中使用具有先前值的分隔符进行更新
- mysql - MySQL DELETE 和多对多关系
- mysql - 启动默认 SQL 代理连接时更改默认 MySQL 或 PostgreSQL 端口号
- unity3d - Unity3D如何启用--stacktrace
- java - 如何正确使用正则表达式字符类?
- sql-server - Docker-Compose SQL Server 数据库在主机重启后持久化数据
- php - 为未经授权的用户禁用内置身份验证器错误 Yii2
- java - 从 RDS 切换到 EC2 后工件部署期间出错
- arrays - 在 3d 数组中过滤包含 1d 数组的 2d 数组