Problem Background

In my development environment I need to have a couple of development web servers running on different ports. Mostly REST API services. Every time I start coding I have to open up a bunch of terminals and start the services in each one and remember what port each one is etc it's a mission.

Existing Solutions

This answer provides a way to write a script that would run the commands to launch all the servers and keep them running in parallel.


Limitation of Solution

I do need to see the logs for each of these services though so I can't just have one in the foreground.


Is there a way to either (a) Open multiple terminal sessions from the bash script or (b) Even having them all log to the same session could work (I can make the log messages identify the source).


If there's perhaps a solution that uses tmux I'll accept.


There's tmuxinator (ruby) which allows to pre-define tmux sessions in YAML configuration-files.

Alternatives are tmuxp (python) and teamocil (ruby).

  • Yea this can definitely work. Thank!
    – Neil
    Jul 17 '19 at 19:59
  • 1
    You're welcome. I'm using tmuxinator to start project-containers, tail logs, ... etc. for years now. Works well. The template function is quite nice too if you happen to have multiple similar projects. Jul 17 '19 at 20:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.