我有一个10秒的间隔。我想在shell中运行一个命令,然后等待完成10秒的间隔。如果命令耗时超过10秒,则表示正常。
我正在寻找一个等效于下面的"foo"函数:
>> foo 10 python myscript.py
- 如果myscript.py需要2秒,那么shell应该等待8秒
- 如果myscript.py需要5秒钟,那么shell应该等待5秒钟
- 如果myscript.py需要12秒,那么shell不应该等待。它也不应该使myscript.py超时
这个"foo"函数存在吗?
只需在后台运行sleep 10
和脚本,然后等待两者完成即可。
python myscript.py &
sleep 10 &
wait
您可以定义一个shell函数来包装简单的命令(命令名及其参数;没有管道、重定向、&&
和||
等)
foo () {
t=$1
shift
"$@" &
sleep "$t" &
wait
}
foo 10 python myscript.py