【问题标题】:Is it possible to install timeout in OpenWRT是否可以在 OpenWRT 中安装超时
【发布时间】:2015-06-07 01:44:19
【问题描述】:

我需要在OpenWRT中执行一个超时的命令,但是似乎默认没有安装命令超时,也不能使用opkg安装。我知道我可以解决这个问题(使用命令 &; sleep $DELAY; kill $!),但我希望更正确地执行此操作,而不会在命令在超时之前完成的情况下尝试杀死进程.

【问题讨论】:

    标签: timeout openwrt


    【解决方案1】:

    是的,你可以在 openWRT 上安装超时

    $ opkg update
    $ opkg install coreutils-timeout
    $ timeout 2 sleep 10
    

    这个已经用AA测试过了,很确定也可以用BB。

    【讨论】:

      【解决方案2】:

      简而言之:这是不可能的。我必须使用sleep && kill

      【讨论】:

        【解决方案3】:

        timeout 是一个 shell 命令,所以它在子 shell 中执行

        timeout 6 sleep 20 如果在直接 shell 终端中执行,则可以工作,但如果从 shell 脚本启动,相同的命令将无法工作。

        所以要在 shell 脚本中运行超时,像这样使用 out="$(timeout 6 sleep 20)" 或者 echo "$(timeout 10 sleep 20)"

        这将在一个子shell中运行你的超时和你的命令

        【讨论】:

        • 谢谢你的回答,但是我没有路由器了。我记得查看了 opkg 存储库并且没有超时包。我不知道为什么,也许是架构受到限制,所以他们把这个包放在了外面。
        • ok...你可以用openwrt sdk编译timeout的源代码
        猜你喜欢
        • 2021-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-17
        • 2011-03-24
        • 2017-12-14
        • 1970-01-01
        • 2011-01-04
        相关资源
        最近更新 更多