5

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

#fork 第一个进程
制片人&

#fork第二个进程
消费者&

#等待生产者完成
...

#杀死消费者
...

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

4

2 回答 2

12
foo & pid_foo=$!
bar & pid_bar=$!

wait $pid_foo
kill $pid_bar

但也许你可以运行foo | bar(如果这恰好适用于标准输入/标准输出处理)。

于 2010-04-22T21:24:05.253 回答
3
#!/bin/bash 

#enable job control in script
set -m

producer &

consumer &

fg %1

kill %2
于 2010-04-22T21:29:14.610 回答