bash – fork第二个进程并在第一个进程完成时终止第二个进程

我想创建一个bash脚本,它将启动两个进程并在第一个进程完成时终止第二个进程.这是一个例子:

#fork first process
producer&

#fork second process
consumer&

#wait for producer to finish
...

#kill the consumer
...

我有一种感觉,这可能会变得丑陋,但有一个非常简单的解决方案.请帮我填空.

最佳答案
foo & pid_foo=$!
bar & pid_bar=$!

wait $pid_foo
kill $pid_bar

但也许你可以运行foo | bar(如果恰好使用stdin / stdout处理).

转载注明原文:bash – fork第二个进程并在第一个进程完成时终止第二个进程 - 代码日志