Try using the -u option of GNU parallel.
#!/bin/bash # handle.sh while true do echo "1\n2\n3" | parallel echo-u "$1-$RANDOM" doneIX ./handle_X.sh ThenThis runs them in parallel, running echo "1\n2\n3" | parallel -u ./handle.sh gives me continuous output from all streamswithout buffering the entirety of any process.
To split out to multiple scripts, try (untested): parallel -IX ./handle_X.sh