我知道如果子进程没有得到正确的收获,它就会变成僵尸,你可以通过ps
命令看到它。
此外,“wait [pid]”命令将等待在后台运行的子 shell,直到它完成并获取它。
我有一个这样的脚本:
#!/bin/bash
sleep 5 &
tail -f /dev/null
我的问题是,我不使用wait
aftersleep 5 &
并且父 shell 永远不会因为 而终止tail
,那么为什么sleep 5 &
不会成为僵尸?我看到它完成后就消失了ps
,不知道谁收割了它?
答案1
答案2
您对“”的使用&
要求父进程将“ sleep 5
”放在后台,因此父进程将收获sleep 5
.