looks to me like it isn't an issue of killing the process, but instead a matter of using the <FH> style of reading that basically blocks, waiting for more input from the program. Could you elaborate a bit on what kind of program it is and what kind of data it is feeding the script? If you know for example that it will always generate x bytes or y lines of information, perhaps it would be better to perform a non-buffered read using sysread on DUMP and then closing the filehandle(assuming the program you're using won't choke on that kind of thing).
Alternatively, is there any way to convince the program you're calling to write the information to ie a textfile, which your script can then process in a more relaxed fashion?