Hallvard B Furuseth writes:
I'm not certain how I feel about my own suggestion here, but:
Each test could give each program invocation a name which is unique for
the test.
Always invoke programs with a function Invoke():
Invoke NAME [--bg 'description' | --retcode] command arg...
Ouch - I forgot about >redirection, |pipes and `backtick commands`.
I wonder if there are shells where
function <foo >bar
runs the function in subprocess, like I've seen some portable shell
programming doc say that
for i ... ; done <foo >bar
does. If so we' have to write
Invoke ... --io '< foo >bar' command ...
at least for background processes, so $! will be correct.
Not pretty.