在Bash中,可以使用wait
命令来等待一个或多个后台任务完成后再执行下一条命令。以下是一个示例代码:
#!/bin/bash
echo "Start"
# 后台任务1
sleep 5 &
pid1=$!
# 后台任务2
sleep 10 &
pid2=$!
# 等待后台任务1和任务2完成
wait $pid1
wait $pid2
echo "All tasks completed"
在上面的代码中,我们首先启动了两个后台任务,使用&
符号将其放入后台执行。然后,我们使用$!
获取每个后台任务的进程ID,并将其存储在pid1
和pid2
变量中。
接下来,我们使用wait
命令等待每个后台任务完成。wait
命令会阻塞当前进程,直到指定的进程ID对应的任务完成为止。
最后,当所有后台任务完成后,打印出"All tasks completed"。
注意:在使用wait
命令时,必须传递正确的进程ID作为参数。如果传递了错误的进程ID或没有传递进程ID,wait
命令将等待所有后台任务完成。
下一篇:bash登录脚本不可交互。