5

2 つのプロセスを起動し、最初のプロセスが完了したときに 2 番目のプロセスを強制終了する bash スクリプトを作成したいと考えています。次に例を示します。

#fork 最初のプロセス
プロデューサー&

#fork 2 番目のプロセス
消費者&

#プロデューサーが終了するのを待つ
...

#消費者を殺す
...

これは醜くなる可能性があると感じていますが、非常に簡単な解決策があります。空欄を埋めるのを手伝ってください。

4

2 に答える 2

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

wait $pid_foo
kill $pid_bar

しかし、おそらく実行することもできますfoo | bar(それが stdin/stdout 処理で機能する場合)。

于 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 に答える