It appears that you're attempting to manage processes from Jacl, not
TclBlend, correct? Jacl's process and pipeline handling is not very
sophisticated, primarily due to lack of sophistication in the underlying
Java API's for managing processes.
If you look through the current source code for the "exec" command in
Jacl, you'll see that it generates a little in-line Bourne Shell script so
that at least some redirection operations will function. It'll generate
something like:
/bin/sh -c "xclock &"
for your command, which will have issues on many systems where /bin/sh
lacks job control (e.g., Solaris).
There are also some issues with exec not trapping more that a few kb of
output to stderr and stdout. These issues are only solveable by using
Java threads, where Jacl, currently, is pretty much single-thread
oriented.
If you really want Tcl's easy/robust process management, stick with the C
implementation of Tcl and add in TclBlend if you need to do Java stuff as
well. If you are bound and determined to use Java, you will probably need
to write a bunch of Java code to use the Runtime and Process classes along
with some threads to get your expected results.
[and I'll agree with Mo that HTML emails to this list are a distraction
and heavily discouraged]
-=- D. J.
|