我想创建一个bash脚本,它将启动两个进程并在第一个进程完成后终止第二个进程。这是一个例子:
#fork first process producer& #fork second process consumer& #wait for producer to finish ... #kill the consumer ...
我有一种感觉,这可能会变得丑陋,但有一个非常简单的解决方案。请帮我填空。
答案 0 :(得分:12)
foo & pid_foo=$!
bar & pid_bar=$!
wait $pid_foo
kill $pid_bar
但也许您可以运行foo | bar
(如果这恰好与stdin / stdout处理一起使用)。
答案 1 :(得分:3)
#!/bin/bash
#enable job control in script
set -m
producer &
consumer &
fg %1
kill %2