OpenWrt 中的 init.d 服务工作目录

OpenWrt 中的 init.d 服务工作目录

有问题。我编写了一个简单的 C 程序,它以随机间隔调用某些 shell 脚本 - 在它作为 cron 任务运行之前,但由于有很多客户端并且每个客户端都在同一时间运行,我们需要分配负载以避免峰。该脚本本身放置在 /root 目录中,当它由 cron 执行时,它正在处理的所有文件都写入同一目录 - /root/ 中。当我切换到 init.d 服务时,它开始将这些文件写入顶部目录 - / 。

我调用脚本的函数如下所示:

 void execute_script(const char* url) {
    char command[MAX_URL_LENGTH + 15];
    snprintf(command, sizeof(command), "/root/updater.sh \"%s\"", url);
    system(command);
}

和 init.d 脚本:

#!/bin/sh /etc/rc.common
 
START=80
USE_PROCD=1

start_service() {
        procd_open_instance
        procd_set_param command /usr/bin/rndupd http://URL
        procd_set_param respawn
        procd_close_instance
}

我怎样才能让这个东西在/root/目录下运行?

相关内容