A TOML-based process runner with dependency ordering.
Create a trun.toml file defining a process. A process is defined and named by creating a [process.<name>] section in the toml file:
[process.greeter]
command = "echo Hello World!"Run:
Processes can define a ready_pattern to declare themselves ready when that substring appears in its standard output.
Processes can also define a depends_on array to delay startup until all processes in the array are ready.
[process.computer]
command = "sleep 1 && echo Hello World!"
ready_pattern = "Hello"
[process.world]
command = "echo Hello Computer!"
depends_on = ["computer"]Run (using -f to specify a different file):
trun continues to run until all processes have finished or it is interrupted by a Ctrl+C which attempts to gracefully terminate all running processes.
Pressing Ctrl+C a second time will kill any remaining processes.