Thanks for your insightful comments. In regard to communicating with background processes, some related Perl coding examples of what I mean can be found in the Interprocess Communication chapter of Programming Perl (3rd edition) by Larry Wall - can Java communicate this flexibly with its children? Does it have forks, threads, etc. anyway?