是否可以在OpenWRT

时间:2015-06-07 01:44:20

标签: timeout openwrt

我需要在OpenWRT中执行带超时的命令,但似乎默认情况下没有安装命令超时,也不能使用opkg安装。我知道我可以做一个工作(使用命令&amp ;; sleep $ DELAY; kill $!),但是我希望更好地做到这一点,而不会在命令完成之前遇到杀死尝试杀死进程的风险超时。

3 个答案:

答案 0 :(得分:6)

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

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

这已经过AA测试,非常肯定这也适用于BB。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

timeout是一个shell命令,因此它在子shell中执行

如果在直接shell终端中执行,

timeout 6 sleep 20将起作用,但是如果从shell脚本启动,则相同的命令将不起作用。

因此要在shell脚本中运行超时,请使用这样的方法    out="$(timeout 6 sleep 20)"               要么      echo "$(timeout 10 sleep 20)"

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