Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

问题:在 shell 下有 A、B、C、D 四个命令,
需要先执行 A
再执行 B、C
最后执行 D

其中, B、C 耗时较多, 但是,互不干扰,可以同步执
针对以上情形,bash提供了一个内置的命令来帮助管理异步执行。
wait命令可以让父脚本暂停,直到指定的进程(比如子脚本)结束。

shell子进程 和 wait

1
2
3
4
5
6
./A
./B & # 设为子进程
./C &
pid=$1
wait (pid)
./D

javascript async

js 中的 async await 设计类似shell 中的这种异步模式,区别是 await 需要new Promise 包裹起来

1
2
3
4
5
6
async AllProcess = () => {
A();
await B();
await C();
D();
}

在shell中本身是文件包裹,相当于一个Promise了

评论