kill $foo_pid
wait $foo_pid 2>/dev/null
Por cierto, no sé acerca de su barra de progreso masivamente genial, pero ¿ha visto Pipe Viewer (pv)? http://www.ivarch.com/programs/pv.shtml
Me acabo de encontrar con esto y me di cuenta de que "repudiar" es lo que estamos buscando.
foo &
foo_pid=$!
disown
boring_and_long_command
kill $foo_pid
sleep 10
El mensaje de muerte se está imprimiendo porque el proceso todavía está en la lista de shells de "trabajos" observados. El comando disown eliminará el proceso generado más recientemente de esta lista para que no se genere ningún mensaje de depuración cuando se elimine, incluso con SIGKILL (-9).