Bash脚本执行二进制文件一段时间

时间:2017-09-26 13:11:07

标签: linux bash shell intel-edison

我有两个二进制文件,我想一个接一个地执行,事情是我想要执行两分钟。我有以下bash代码:

./file_1
./file_2

但我不知道如何只运行一分钟。

2 个答案:

答案 0 :(得分:3)

这是一个可移植的解决方案 - 在后台运行二进制文件,并在一分钟后终止它们:

for file in "file_1" "file_2"; do
    "./$file" &
    file_pid=$!

    sleep 60

    kill "$file_pid"
done

&运算符启动后台作业,特殊变量$!包含上一个作业的PID。循环是可选的。我们可以用它来减少重复的代码。

答案 1 :(得分:0)

这是使用timeout命令

的单线程
$ timeout 60 binary-1; timeout 60 binary-2

在这种情况下,格式为:

timeout duration command

持续时间默认为秒,或者也可以使用1米(1分钟),来自男人:

duration is a floating point number followed by an optional unit:

‘s’ for seconds (the default)
‘m’ for minutes
‘h’ for hours
‘d’ for days