因此,假设我正在运行一个带有后台进程的子shell,如下所示:
(command &)
我希望能够将这个子进程的PID存储到一个bash变量中,这样我就可以在以后终止子shell和它正在运行的后台进程。
注意:这很可能是一个重复的问题,但我正在努力实现许多其他的答案。因此,即使这个问题被标记为重复,如果有人仍然可以提供答案,我将不胜感激。
我尝试过一些事情:
pid="$((echo "$BASHPID" && command &))"
pid2="$((command & echo "$BASHPID"))"
pid3=(echo "$BASHPID" && command &)
pid4=(command & echo "$BASHPID")
3条答案
按热度按时间jpfvwuh41#
一个想法:
23c0lvtd2#
https://en.wikipedia.org/wiki/Inter-process_communication的方式有很多种,例如使用fifo:
djp7away3#
也许实现它的最短方法是使用
coproc
: