fork和exec在bash中

Abh*_*ogi 67 linux bash shell scripting

如何在bash中实现fork和exec?

让我们假设脚本为

echo "Script starts"

function_to_fork(){
sleep 5
echo "Hello"
}

echo "Script ends"
Run Code Online (Sandbox Code Playgroud)

基本上我希望将该函数作为新进程调用,就像在C中我们使用fork和exec调用一样.

从脚本开始,预计父脚本将结束,然后在5秒后打印"Hello".

mob*_*mob 112

像使用shell一样使用&符号.

#!/usr/bin/bash
function_to_fork() {
   ...
}

function_to_fork &
# ... execution continues in parent process ...
Run Code Online (Sandbox Code Playgroud)

  • 这与"fork"不完全相同.我在C或Ruby中使用fork测试一些命令,它运行良好.但是像上面那样使用"&",就失败了. (2认同)

Jub*_*bal 31

怎么样:

(sleep 5; echo "Hello World") &
Run Code Online (Sandbox Code Playgroud)

  • @staticx意味着进程将fork,但是父进程在`()返回之前不会继续执行? (2认同)