小编Ale*_*rko的帖子

bash中的子进程

我们使用带有'&'的异步调用的bash脚本.像这样的东西:

function test() {
   sleep 1
} 
test &
mypid=$!
# do some stuff for two hours
wait $mypid 
Run Code Online (Sandbox Code Playgroud)

通常一切都很好,但有时我们会得到错误

"wait: pid 419090 is not a child of this shell"
Run Code Online (Sandbox Code Playgroud)

我知道bash会将子pid保存在一个特殊的表中,我知道('man wait')如果没有人使用$ !,则bash不允许在此表中存储状态信息,并且没有人可以声明'wait $ mypid'.我怀疑,此优化包含导致错误的错误.有人知道如何打印此表或如何禁用此优化?

linux bash

5
推荐指数
1
解决办法
123
查看次数

标签 统计

bash ×1

linux ×1