shell 大师,
我有一个 bash shell 脚本,我在其中启动了一个后台函数,比如 foo()
,以显示一个无聊而冗长的命令的进度条:
foo()
{
while [ 1 ]
do
#massively cool progress bar display code
sleep 1
done
}
foo &
foo_pid=$!
boring_and_long_command
kill $foo_pid >/dev/null 2>&1
sleep 10
现在,当 foo
死亡时,我看到以下文本:
/home/user/script: line XXX: 30290 Killed foo
这完全破坏了我原本非常酷的进度条显示的精彩。
我如何摆脱这条消息?
最佳答案
kill $foo_pid
wait $foo_pid 2>/dev/null
顺便说一句,我不知道您的进度条非常酷,但是您看过 Pipe Viewer (pv) 吗? http://www.ivarch.com/programs/pv.shtml
关于linux - bash:静默杀死后台函数进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719030/