Bash 脚本可以在不同的终端会话中并行启动多个进程,或者全部在一个前台启动?

Bash 脚本可以在不同的终端会话中并行启动多个进程,或者全部在一个前台启动?

问题背景

在我的开发环境中,我需要有几个在不同端口上运行的开发 Web 服务器。主要是 REST API 服务。每次我开始编码时,我都必须打开一堆终端并启动每个终端中的服务并记住每个终端是什么端口等等,这是一项任务。

现有解决方案

这个答案提供了一种编写脚本的方法,该脚本将运行命令来启动所有服务器并保持它们并行运行。

https://stackoverflow.com/questions/3004811/how-do-you-run-multiple-programs-in-parallel-from-a-bash-script

解决方案的局限性

不过,我确实需要查看每一项服务的日志,因此我不能只在前台放置一个服务。

问题

有没有办法(a)从 bash 脚本打开多个终端会话或(b)甚至让它们全部登录到同一个会话也可以工作(我可以让日志消息识别源)。

更远

如果可能有一个使用 tmux 的解决方案,我会接受。

答案1

tmuxator(ruby) 允许在 YAML 配置文件中预定义 tmux 会话。

替代方案是多路复用器(蟒蛇)和蒂莫西尔(红宝石)。

相关内容