后台进程完成后关闭前台进程

时间:2013-11-12 08:10:57

标签: linux bash

例如,当wget结束时我将如何杀死尾巴。

#!/bin/bash
wget http://en.wikipedia.org/wiki/File:Example.jpg &
tail -f example.log

1 个答案:

答案 0 :(得分:5)

也许这更好 - 我没有测试过它:

#!/bin/bash
LOGFILE=example.log
> $LOGFILE # truncate log file so tail begins reading at the beginning
tail -f $LOGFILE &
# launch tail and background it
PID=$!
# record the pid of the last command - in this case tail
wget --output-file=$LOGFILE http://en.wikipedia.org/wiki/File:Example.jpg
kill $PID
#launch wget and when finished kill program (tail) with PID

这依赖于尾部虽然在后台仍然会在控制台上显示它的输出。但这并不容易重定向。