当其他进程完成时杀死一个进程

当其他进程完成时杀死一个进程

鉴于a | b,我想ba完成后杀死。是一个交互式过程,完成b后不会终止(afzf在我的例子中),整个过程在子 shella | b中执行$()

到目前为止我想出的是

echo $({ sleep 5 & a=$!; { wait $a; kill $b; } } | { fzf & b=$!; })

sleep代表afzf代表b,示例中的结果被 所使用echo,但在我的例子中,它是 的一个参数ssh。看起来,这$b不是 的 PID fzf,它是空的。据我了解,情况不应该是这样,因为我使用了{}, 而不是(),所以它不是在子 shell 中执行。

相关内容