子 shell 不工作

子 shell 不工作

我想并行运行多个命令,但我不知道为什么下面的代码片段不起作用。

#!/bin/bash
( ping 8.8.8.8 )
( ping 192.168.0.1 )

它完全忽略第二个 ping 命令。为什么会这样?

编辑:好的,现在我知道你可以通过执行并行运行它们&

ping 8.8.8.8 & ping 192.168.0.1

但为什么上面的代码片段不起作用呢?

答案1

默认情况下,子 shell 不会分叉,您还必须使用&将其发送到后台来执行第二个子 shell,而无需等待第一个子 shell 结束。

例如

ping 8.8.8.8 & ping 192.168.0.1

相关内容