我希望能返回脚本的结果,同时也启动一个后台任务。使用命令替换运算符可以等待后台任务完成,但这会使调用变慢。为了说明问题,我创建了以下示例:
function answer {
sleep 5 &
echo string
}
echo $(answer)
有没有一种方法可以调用一个命令而不必等待它创建的任何后台作业?谢谢,马克。
我希望能返回脚本的结果,同时也启动一个后台任务。使用命令替换运算符可以等待后台任务完成,但这会使调用变慢。为了说明问题,我创建了以下示例:
function answer {
sleep 5 &
echo string
}
echo $(answer)
sleep
会继承stdout并将其保持打开状态。您可以简单地重定向stdout:answer() {
sleep 5 > /dev/null &
echo "string"
}
echo "$(answer)"
function answer {
sleep 5
echo Second
}
echo $(answer) &
echo First
其输出结果将会是
First
Second