Consider this:
tmux split-window -d program1
program2 # this program depends on some side effects produced by program1
In this case, program2 will start before program1 is ready. program1 will send signals/output when it has produced side-effects that can be consumed by program2.
My question: How can I write a shell script that will wait until program1 is ready before starting program2?
Observation: program2 does not consume program1 output, so this is not solved by connecting the processes with a pipe.