要在OpenWrt上创建一个开机自启动的服务,你可以按照以下步骤操作:

  1. 创建初始化脚本:

    假设你要运行的是一个叫my_service的服务。首先,在/etc/init.d/目录下创建一个叫my_service的脚本:

    1
    vi /etc/init.d/my_service

    然后,填充脚本内容。这是一个简单的示例,它只是启动一个命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/sh /etc/rc.common

    START=99 # 设置启动的优先级,数值越大,越晚启动

    start() {
    echo "Starting my_service..."
    # 这里替换为你要启动的实际命令
    /path/to/my_service_command &
    }

    stop() {
    echo "Stopping my_service..."
    killall my_service_command
    }

    请注意将/path/to/my_service_command替换为你的服务实际的命令或脚本路径。

  2. 给脚本赋予权限:

    为了确保你的初始化脚本可以运行,你需要给它执行权限:

    1
    chmod +x /etc/init.d/my_service
  3. 启用开机自启:

    使用以下命令确保你的服务在开机时自动启动:

    1
    /etc/init.d/my_service enable

    这将创建一个符号链接,指向你的服务脚本,从而确保在系统启动时它会被调用。

现在,每次你的OpenWrt设备启动时,my_service都会自动启动。如果需要,你也可以使用/etc/init.d/my_service start/etc/init.d/my_service stop命令来手动启动和停止你的服务。