Cli tool written in rust to launch a bunch of processes given a config file?

What I'm looking for would be similar to the ros tool roslaunch that takes an config file listing of nodes to execute or other launch files, runs them with arguments from the config file, combines all the stdout into stdout for the overarching launch process, and brings down all the processes if main launch process is killed- but that is restricted to just ros nodes that rosrun can execute.
I'd like to be able to run anything that could otherwise be run individually from the same command line.

There are existing tools meant for container management (but none written in rust?), but I don't want to have to launch everything in containers.

It doesn't have to be written in rust but that would be preferable, especially if I need to fork and modify it.

With or std::process::Command or tokio::process::Command it looks like I could make a basic version myself, but if there's something similar out there I'd still like to see how it works.

I looked at maelstrom (GitHub - maelstrom-software/maelstrom: Maelstrom is a fast Rust, Go, and Python test runner that runs every test in its own container. Tests are either run locally or distributed to a clustered job runner.) a little but it's not quite right (but may try it again later), for now I'm trying out tokio process command and have a basic from-scratch system working here: tf_roslibrust/launcher/src/main.rs at roslibrust · lucasw/tf_roslibrust · GitHub